Use conditional internal functions in if-conversion
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / float128-hw7.c
blobca417165a478a61892babfa1cbb19edd1663c236
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
9 _Float128. */
11 _Float128
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} } } */