1 /* { dg-do run { target { powerpc64*-*-* && vsx_hw } } } */
2 /* { dg-options "-mfloat128 -mvsx" } */
6 typedef unsigned long long int uint64_t;
14 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
18 uint64_t mant_high
:47;
22 uint64_t mant_high
:47;
32 main (int argc
, int *argv
[])
34 ieee854_float128 x
, z
;
37 x
.nan
.exponent
= 0x22;
39 x
.nan
.mant_high
= 0x1234;
40 x
.nan
.mant_low
= 0xabcdef;
42 z
.value
= __builtin_fabsf128 (x
.value
);
44 if (z
.nan
.negative
!= 0
45 || z
.nan
.exponent
!= 0x22
46 || z
.nan
.quiet_nan
!= 0
47 || z
.nan
.mant_high
!= 0x1234
48 || z
.nan
.mant_low
!= 0xabcdef)
51 z
.value
= __builtin_fabsf128 (z
.value
);
53 if (z
.nan
.negative
!= 0
54 || z
.nan
.exponent
!= 0x22
55 || z
.nan
.quiet_nan
!= 0
56 || z
.nan
.mant_high
!= 0x1234
57 || z
.nan
.mant_low
!= 0xabcdef)