1 /* { dg-do run { xfail powerpc*-*-* } } */
2 /* { dg-add-options ieee } */
3 /* { dg-require-effective-target fenv_exceptions } */
4 /* { dg-skip-if "fenv" { powerpc-ibm-aix* } } */
5 
6 #include <fenv.h>
7 
8 int
9 __attribute__ ((noinline, noclone))
f1(float a,float b)10 f1 (float a, float b)
11 {
12   return -__builtin_isgreater (a, b);
13 }
14 
15 int
16 __attribute__ ((noinline, noclone))
f2(float a,float b)17 f2 (float a, float b)
18 {
19   return -(a > b);
20 }
21 
22 int
main(void)23 main (void)
24 {
25   volatile int r;
26 
27   float nanf = __builtin_nanf ("");
28   float argf = 1.0f;
29 
30   feclearexcept (FE_INVALID);
31 
32   r = f1 (nanf, argf);
33   if (r != 0 || fetestexcept (FE_INVALID))
34     __builtin_abort ();
35 
36   r = f2 (nanf, argf);
37   if (r != 0 || !fetestexcept (FE_INVALID))
38     __builtin_abort ();
39 
40   return 0;
41 }
42