1 /* Test for correct rounding of conversions from __int128 to
4 /* { dg-require-effective-target int128 } */
5 /* { dg-require-effective-target fenv } */
6 /* { dg-require-effective-target hard_float } */
7 /* { dg-options "-frounding-math" } */
16 volatile unsigned long long h
= 0x8000000000000000LL
;
17 volatile unsigned long long l
= 0xdLL
;
18 volatile unsigned __int128 u128
= (((unsigned __int128
) h
) << 64) | l
;
19 volatile __int128 s128
= u128
;
20 fesetround (FE_TOWARDZERO
);
22 if (fs
!= -0x1.fffffep
+126)
25 if (ds
!= -0x1.fffffffffffffp
+126)