Viewing file: negfma-1.c (1.11 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile } */ /* { dg-options "-O3 -mzarch -march=arch12" } */
typedef float v4sf __attribute__((vector_size(16))); typedef double v2df __attribute__((vector_size(16))); typedef long double v1tf __attribute__((vector_size(16)));
v4sf neg_vfnmasb (v4sf a, v4sf b, v4sf c) { return -(a * b + c); } /* { dg-final { scan-assembler-times "vfnmasb\t%v24,%v24,%v26,%v28" 1 } } */
v2df neg_vfnmadb (v2df a, v2df b, v2df c) { return -(a * b + c); } /* { dg-final { scan-assembler-times "vfnmadb\t%v24,%v24,%v26,%v28" 1 } } */
v1tf neg_wfnmaxb (v1tf a, v1tf b, v1tf c) { return -(a * b + c); } /* { dg-final { scan-assembler-times "wfnmaxb\t%v24,%v24,%v26,%v28" 1 } } */
v4sf neg_vfnmssb (v4sf a, v4sf b, v4sf c) { return -(a * b - c); } /* { dg-final { scan-assembler-times "vfnmssb\t%v24,%v24,%v26,%v28" 1 } } */
v2df neg_vfnmsdb (v2df a, v2df b, v2df c) { return -(a * b - c); } /* { dg-final { scan-assembler-times "vfnmsdb\t%v24,%v24,%v26,%v28" 1 } } */
v1tf neg_wfnmsxb (v1tf a, v1tf b, v1tf c) { return -(a * b - c); } /* { dg-final { scan-assembler-times "wfnmsxb\t%v24,%v24,%v26,%v28" 1 } } */
|