Hello!

> This patch fixes dg-final scans in tests from vect.exp suite, which
> currently fail when avx2 is used.

--- a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-31.c
+++ b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-31.c
@@ -88,5 +88,6 @@ int main (void)

 /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned
access" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "Alignment of access forced
using peeling" 2 "vect" } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced
using peeling" 2 "vect" { target {! vect_multiple_sizes} } } } */
+/* { dg-final { scan-tree-dump-times "Alignment of access forced
using peeling" 2 "vect" { xfail  vect_multiple_sizes} } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

Please do not add xfails through the patch, xfail means that a problem
was identified and will someday be fixed. In the above case, just add
target condition, no need for xfailed scan. If I'm not missing
simething, you can probably remove all introduced xfails, just add new
target conditions.

 # Return 1 if avx instructions can be compiled.

+proc check_effective_explicit_target_avx { } {
+  return [check_no_messages_and_pattern e_avx
"!__builtin_ia32_vzeroall" assembly {
+    void _mm256_zeroall (void)
+    {
+      __builtin_ia32_vzeroall ();
+    }
+  } "-O2" ]
+}

Please use

# Return true if we are compiling for AVX target.

proc check_avx_available { } {
    return [check_no_compiler_messages avx_available assembly {
        #ifndef __AVX__
        #error unsupported
        #endif
    } ""]
}

Uros.

Reply via email to