RISC-V: Add testcases for vector truncate after .SAT_SUB
[official-gcc.git] / gcc / testsuite / gcc.dg / dfp / c23-float-dfp-8.c
blob06bbfa5bfa55daf5dd970f3f07f62aacf340d943
1 /* Test DEC*_SNAN macros. Test requiring runtime exceptions
2 support. */
3 /* { dg-do run } */
4 /* { dg-require-effective-target fenv_exceptions_dfp } */
5 /* { dg-options "-std=c23" } */
7 #include <fenv.h>
8 #include <float.h>
10 volatile _Decimal32 d32 = DEC32_SNAN;
11 volatile _Decimal64 d64 = DEC64_SNAN;
12 volatile _Decimal128 d128 = DEC128_SNAN;
14 extern void abort (void);
15 extern void exit (int);
17 int
18 main (void)
20 feclearexcept (FE_ALL_EXCEPT);
21 d32 += d32;
22 if (!fetestexcept (FE_INVALID))
23 abort ();
24 feclearexcept (FE_ALL_EXCEPT);
25 d32 += d32;
26 if (fetestexcept (FE_INVALID))
27 abort ();
28 feclearexcept (FE_ALL_EXCEPT);
29 d64 += d64;
30 if (!fetestexcept (FE_INVALID))
31 abort ();
32 feclearexcept (FE_ALL_EXCEPT);
33 d64 += d64;
34 if (fetestexcept (FE_INVALID))
35 abort ();
36 feclearexcept (FE_ALL_EXCEPT);
37 d128 += d128;
38 if (!fetestexcept (FE_INVALID))
39 abort ();
40 feclearexcept (FE_ALL_EXCEPT);
41 d128 += d128;
42 if (fetestexcept (FE_INVALID))
43 abort ();
44 exit (0);