1 /* { dg-do run { xfail powerpc*-*-* } } */
2 /* remove the xfail for powerpc when pr58684 is fixed */
3 /* { dg-add-options ieee } */
4 /* { dg-additional-options "-fsignaling-nans" } */
5 /* { dg-require-effective-target fenv_exceptions } */
10 ftrue (float x
, float y
)
12 if (!__builtin_iseqsig (x
, y
))
17 ffalse (float x
, float y
)
19 if (__builtin_iseqsig (x
, y
))
26 volatile float f1
, f2
;
30 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
34 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
38 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
42 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
44 f1
= 0.f
; f2
= __builtin_inff();
46 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
48 f1
= -0.f
; f2
= __builtin_inff();
50 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
52 f1
= 0.f
; f2
= __builtin_nanf("");
54 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
55 feclearexcept (FE_INVALID
);
57 f1
= -0.f
; f2
= __builtin_nanf("");
59 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
60 feclearexcept (FE_INVALID
);
64 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
68 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
72 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
74 f1
= 1.f
; f2
= __builtin_inff();
76 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
78 f1
= 1.f
; f2
= __builtin_nanf("");
80 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
81 feclearexcept (FE_INVALID
);
83 f1
= __builtin_inff(); f2
= __builtin_inff();
85 if (fetestexcept (FE_INVALID
)) __builtin_abort ();
87 f1
= __builtin_inff(); f2
= __builtin_nanf("");
89 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
90 feclearexcept (FE_INVALID
);
92 f1
= __builtin_nanf(""); f2
= __builtin_nanf("");
94 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
95 feclearexcept (FE_INVALID
);
97 f1
= __builtin_nansf(""); f2
= 1.f
;
99 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
100 feclearexcept (FE_INVALID
);
102 f1
= 1.f
; f2
= __builtin_nansf("");
104 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
105 feclearexcept (FE_INVALID
);
107 f1
= __builtin_nansf(""); f2
= __builtin_nansf("");
109 if (!fetestexcept (FE_INVALID
)) __builtin_abort ();
110 feclearexcept (FE_INVALID
);