1 /* { dg-do compile } */
2 /* { dg-require-effective-target inf } */
3 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 
foo(unsigned int x)5 int foo(unsigned int x)
6 {
7   return __builtin_isnan((double)x);
8 }
9 
foof(unsigned int x)10 int foof(unsigned int x)
11 {
12   return __builtin_isnanf((float)x);
13 }
14 
fool(unsigned int x)15 int fool(unsigned int x)
16 {
17   return __builtin_isnanl((long double)x);
18 }
19 
20 /* { dg-final { scan-tree-dump-times "_isnan" 0 "optimized" } } */
21 /* { dg-final { scan-tree-dump-times " unord " 0 "optimized" } } */
22