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_finite((double)x);
8 }
9
foof(unsigned int x)10 int foof(unsigned int x)
11 {
12 return __builtin_finitef((float)x);
13 }
14
fool(unsigned int x)15 int fool(unsigned int x)
16 {
17 return __builtin_finitel((long double)x);
18 }
19
20 /* { dg-final { scan-tree-dump-times "_finite" 0 "optimized" } } */
21 /* { dg-final { scan-tree-dump-times " u> " 0 "optimized" } } */
22