match.pd: Fold vec_perm with view_convert
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / float128-hw6.c
blob6d8ed46c62668a872ed2abc20ae2da8f9c7cbf28
1 /* { dg-do compile { target lp64 } } */
2 /* { dg-options "-mvsx -O2" } */
3 /* { dg-additional-options "-mdejagnu-cpu=power9" { target { ! has_arch_pwr9 } } } */
4 /* { dg-require-effective-target powerpc_vsx } */
5 /* { dg-require-effective-target float128 } */
7 extern _Float128 fabsf128 (_Float128);
8 extern _Float128 copysignf128 (_Float128, _Float128);
10 /* Check copysign optimizations that are done for double are also done for
11 _Float128. */
13 _Float128
14 cs_negx_y (_Float128 x, _Float128 y)
16 return copysignf128 (-x, y); /* eliminate negation. */
19 _Float128
20 cs_absx_y (_Float128 x, _Float128 y)
22 return copysignf128 (fabsf128 (x), y); /* eliminate fabsf128. */
25 /* { dg-final { scan-assembler-times {\mxscpsgnqp\M} 2 } } */
26 /* { dg-final { scan-assembler-not {\mxsnegqp\M} } } */
27 /* { dg-final { scan-assembler-not {\mxsabsqp\M} } } */
28 /* { dg-final { scan-assembler-not {\mbl\M} } } */