Use conditional internal functions in if-conversion
[official-gcc.git] / gcc / testsuite / gcc.target / s390 / pr57960.c
blob03578ff76795aaf94e4174f68750bc616e34439a
1 /* PR rtl-optimization/57960 */
3 /* { dg-do compile } */
4 /* { dg-options "-march=z10 -mzarch -O1" } */
6 typedef union
8 long double value;
9 struct
11 unsigned int w0, w1, w2, w3;
13 parts32;
15 ieee854_long_double_shape_type;
16 static const long double one = 1.0L;
17 long double
18 __ieee754_acosl (long double x)
20 long double z, w;
21 int ix;
22 ieee854_long_double_shape_type u;
24 z = (one - u.value) * 0.5;
25 u.parts32.w2 = 0;
26 u.parts32.w3 = 0;
27 w = z - u.value * u.value;
28 return 2.0 * w;