1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-options "-mpower9-vector -O2" } */
5 extern _Float128
fabsf128 (_Float128
);
6 extern _Float128
copysignf128 (_Float128
, _Float128
);
8 /* Check copysign optimizations that are done for double are also done for
12 cs_x_pos1 (_Float128 x
)
14 return copysignf128 (x
, 1.0Q
); /* XSABSQP. */
17 _Float128
cs_x_neg2 (_Float128 x
)
19 return copysignf128 (x
, -2.0Q
); /* XSNABSQP. */
22 /* { dg-final { scan-assembler-times {\mxsabsqp\M} 1 } } */
23 /* { dg-final { scan-assembler-times {\mxsnabsqp\M} 1 } } */
24 /* { dg-final { scan-assembler-not {\mxscpsgnqp\M} } } */
25 /* { dg-final { scan-assembler-not {\mlxvx\M} } } */
26 /* { dg-final { scan-assembler-not {\mlxv\M} } } */
27 /* { dg-final { scan-assembler-not {\mbl\M} } } */