blob: 03578ff76795aaf94e4174f68750bc616e34439a [file] [log] [blame]
/* PR rtl-optimization/57960 */
/* { dg-do compile } */
/* { dg-options "-march=z10 -mzarch -O1" } */
typedef union
{
long double value;
struct
{
unsigned int w0, w1, w2, w3;
}
parts32;
}
ieee854_long_double_shape_type;
static const long double one = 1.0L;
long double
__ieee754_acosl (long double x)
{
long double z, w;
int ix;
ieee854_long_double_shape_type u;
z = (one - u.value) * 0.5;
u.parts32.w2 = 0;
u.parts32.w3 = 0;
w = z - u.value * u.value;
return 2.0 * w;
}