1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-options "-mpower9-vector -O2" } */
4 
5 __float128
xfma(__float128 a,__float128 b,__float128 c)6 xfma (__float128 a, __float128 b, __float128 c)
7 {
8   return __builtin_fmaf128 (a, b, c);
9 }
10 
11 __float128
xfms(__float128 a,__float128 b,__float128 c)12 xfms (__float128 a, __float128 b, __float128 c)
13 {
14   return __builtin_fmaf128 (a, b, -c);
15 }
16 
17 __float128
xfnma(__float128 a,__float128 b,__float128 c)18 xfnma (__float128 a, __float128 b, __float128 c)
19 {
20   return -__builtin_fmaf128 (a, b, c);
21 }
22 
23 __float128
xfnms(__float128 a,__float128 b,__float128 c)24 xfnms (__float128 a, __float128 b, __float128 c)
25 {
26   return -__builtin_fmaf128 (a, b, -c);
27 }
28 
29 /* { dg-final { scan-assembler "xsmaddqp"  } } */
30 /* { dg-final { scan-assembler "xsmsubqp"  } } */
31 /* { dg-final { scan-assembler "xsnmaddqp" } } */
32 /* { dg-final { scan-assembler "xsnmsubqp" } } */
33