1 /* { dg-do run { target { powerpc*-*-linux* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-require-effective-target dfp_hw } */
4 /* { dg-options "-O2 -mhard-dfp" } */
17 _Decimal128 one
= (_Decimal128
)1.0;
18 _Decimal128 two
= (_Decimal128
)2.0;
19 _Decimal128 ten
= (_Decimal128
)10.0;
23 unsigned long long x0
;
24 unsigned long long x1
;
27 for (i
= 0; i
< 25; i
++)
32 x0
= __builtin_unpack_dec128 (a
, 0);
33 x1
= __builtin_unpack_dec128 (a
, 1);
34 b
= __builtin_pack_dec128 (x0
, x1
);
35 c
= __builtin_dscliq (one
, 25) + two
;
41 unsigned long long ull
;
42 unsigned char uc
[sizeof (_Decimal128
)];
47 for (i
= 0; i
< sizeof (_Decimal128
); i
++)
48 printf ("%.2x", u
.uc
[i
]);
50 printf (", %Lg\n", (long double)a
);
54 for (i
= 0; i
< sizeof (_Decimal128
); i
++)
55 printf ("%.2x", u
.uc
[i
]);
57 printf (", %Lg\n", (long double)b
);
61 for (i
= 0; i
< sizeof (_Decimal128
); i
++)
62 printf ("%.2x", u
.uc
[i
]);
64 printf (", %Lg\n", (long double)c
);
68 for (i
= 0; i
< sizeof (unsigned long long); i
++)
69 printf ("%.2x", u
.uc
[i
]);
73 for (i
= 0; i
< sizeof (unsigned long long); i
++)
74 printf ("%.2x", u
.uc
[i
]);