2a7eedbdbe20dddbf269df6a067e7248c52dfb8f
2 /* { dg-options "-O" } */
4 /* DFP TR 24732 == WG14 / N1176, N1312 */
5 /* Based on a test from Fred Tydeman. */
9 /* Test runtime computations. */
14 volatile float v1
= 28.f
, v2
= 3.f
, v3
= 9.f
, v4
= 31.f
, v5
= 3.f
, v6
= 10.f
;
15 float b32
= (float)((v1
/v2
-v3
) - (v4
/v5
-v6
));
16 _Decimal32 d32
= (float)((v1
/v2
-v3
) - (v4
/v5
-v6
));
27 volatile double v1
= 28., v2
= 3., v3
= 9., v4
= 31., v5
= 3., v6
= 10.;
28 double b64
= (double)((v1
/v2
-v3
) - (v4
/v5
-v6
));
29 _Decimal64 d64
= (double)((v1
/v2
-v3
) - (v4
/v5
-v6
));
40 volatile long double v1
= 28.l
, v2
= 3.l
, v3
= 9.l
,
41 v4
= 31.l
, v5
= 3.l
, v6
= 10.l
;
42 long double b128
= (long double)((v1
/v2
-v3
) - (v4
/v5
-v6
));
43 _Decimal128 d128
= (long double)((v1
/v2
-v3
) - (v4
/v5
-v6
));
51 /* Test constant folding. */
56 double d32
= (float)((28.f
/3.f
-9.f
) - (31.f
/3.f
-10.f
));
57 _Decimal32 b32
= (float)((28.f
/3.f
-9.f
) - (31.f
/3.f
-10.f
));
68 double b64
= (double)((28./3.-9.) - (31./3.-10.));
69 _Decimal64 d64
= (double)((28./3.-9.) - (31./3.-10.));
80 long double b128
= (long double)((28./3.-9.) - (31./3.-10.));
81 _Decimal128 d128
= (long double)((28./3.-9.) - (31./3.-10.));