Comments
Patch
===================================================================
@@ -4076,6 +4076,7 @@ ix86_valid_target_attribute_inner_p (tree args, ch
IX86_ATTR_ISA ("sse4a", OPT_msse4a),
IX86_ATTR_ISA ("ssse3", OPT_mssse3),
IX86_ATTR_ISA ("fma4", OPT_mfma4),
+ IX86_ATTR_ISA ("fma", OPT_mfma),
IX86_ATTR_ISA ("xop", OPT_mxop),
IX86_ATTR_ISA ("lwp", OPT_mlwp),
IX86_ATTR_ISA ("fsgsbase", OPT_mfsgsbase),
===================================================================
@@ -199,23 +199,23 @@ check_mm256_fmsubadd_ps (__m256 a, __m256 b, __m25
}
-/* { dg-final { scan-assembler-times "vfmadd[^s]..ps" 2 } } */
-/* { dg-final { scan-assembler-times "vfmsub[^s]..ps" 2 } } */
+/* { dg-final { scan-assembler-times "vfmadd\[^s\]..ps" 2 } } */
+/* { dg-final { scan-assembler-times "vfmsub\[^s\]..ps" 2 } } */
/* { dg-final { scan-assembler-times "vfnmadd...ps" 2 } } */
/* { dg-final { scan-assembler-times "vfnmsub...ps" 2 } } */
/* { dg-final { scan-assembler-times "vfmaddsub...ps" 2 } } */
/* { dg-final { scan-assembler-times "vfmsubadd...ps" 2 } } */
-/* { dg-final { scan-assembler-times "vfmadd[^s]..pd" 2 } } */
-/* { dg-final { scan-assembler-times "vfmsub[^s]..pd" 2 } } */
+/* { dg-final { scan-assembler-times "vfmadd\[^s\]..pd" 2 } } */
+/* { dg-final { scan-assembler-times "vfmsub\[^s\]..pd" 2 } } */
/* { dg-final { scan-assembler-times "vfnmadd...pd" 2 } } */
/* { dg-final { scan-assembler-times "vfnmsub...pd" 2 } } */
/* { dg-final { scan-assembler-times "vfmaddsub...pd" 2 } } */
/* { dg-final { scan-assembler-times "vfmsubadd...pd" 2 } } */
-/* { dg-final { scan-assembler-times "vfmadd[^s]..ss" 1 } } */
-/* { dg-final { scan-assembler-times "vfmsub[^s]..ss" 1 } } */
+/* { dg-final { scan-assembler-times "vfmadd\[^s\]..ss" 1 } } */
+/* { dg-final { scan-assembler-times "vfmsub\[^s\]..ss" 1 } } */
/* { dg-final { scan-assembler-times "vfnmadd...ss" 1 } } */
/* { dg-final { scan-assembler-times "vfnmsub...ss" 1 } } */
-/* { dg-final { scan-assembler-times "vfmadd[^s]..sd" 1 } } */
-/* { dg-final { scan-assembler-times "vfmsub[^s]..sd" 1 } } */
+/* { dg-final { scan-assembler-times "vfmadd\[^s\]..sd" 1 } } */
+/* { dg-final { scan-assembler-times "vfmsub\[^s\]..sd" 1 } } */
/* { dg-final { scan-assembler-times "vfnmadd...sd" 1 } } */
/* { dg-final { scan-assembler-times "vfnmsub...sd" 1 } } */
Hello! The gcc.target/i386/fma-compile.c test did not escape [ and ] correctly. Unfortunately, this problem terminated dejagnu testing early, hiding the problem with -mfma target attribute handling. Attached patch fixes both problems. 2011-08-30 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Handle FMA option. testsuite/ChangeLog: 2011-08-30 Uros Bizjak <ubizjak@gmail.com> * gcc.target/i386/fma-compile.c: Escape [ and ] correctly. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline.