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))
      10  f1 (float a, float b)
      11  {
      12    return -__builtin_isgreater (a, b);
      13  }
      14  
      15  int
      16  __attribute__ ((noinline, noclone))
      17  f2 (float a, float b)
      18  {
      19    return -(a > b);
      20  }
      21  
      22  int
      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  }