Patchwork [testsuite] for vect_multiple_sizes, skip instead of xfail for some checks

login
register
mail settings
Submitter Janis Johnson
Date Sept. 18, 2012, 7:55 p.m.
Message ID <5058D1A8.4000005@mentor.com>
Download mbox | patch
Permalink /patch/184821/
State New
Headers show

Comments

Janis Johnson - Sept. 18, 2012, 7:55 p.m.
Seventeen tests in gcc.dg/vect that use vect_multiple_sizes have checks
similar to:

/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { xfail vect_multiple_sizes } } } */
/* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } *

When vect_multiple_sizes is true the first check shouldn't be reported
as XFAIL, it should intead be skipped.  The convention in other vect
tests is to instead use:

/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target { ! vect_multiple_sizes } } } } */
/* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } *

This patch fixes those 17 tests.  Tested on arm-none-eabi with a variety
of test multilibs, checked in on trunk as obvious.  I'll backport to 4.6
when the branch is open.

Janis
2012-09-18  Janis Johnson  <janisjo@codesourcery.com>

	* gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
	target instead of xfailing it.
	* gcc.dg/vect/no-vfa-vect-102.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-37.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-79.c: Likewise.
	* gcc.dg/vect/vect-104.c: Likewise.
	* gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1.c: Likewise.
	* gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1a.c: Likewise.
	* gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1b.c: Likewise.
	* gcc.dg/vect/vect-outer-2b.c: Likewise.
	* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-3a.c: Likewise.
	* gcc.dg/vect/vect-outer-3b.c: Likewise.
	* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.

Patch

Index: gcc.dg/vect/no-vfa-vect-101.c
===================================================================
--- gcc.dg/vect/no-vfa-vect-101.c	(revision 191440)
+++ gcc.dg/vect/no-vfa-vect-101.c	(working copy)
@@ -45,7 +45,7 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
Index: gcc.dg/vect/no-vfa-vect-102.c
===================================================================
--- gcc.dg/vect/no-vfa-vect-102.c	(revision 191440)
+++ gcc.dg/vect/no-vfa-vect-102.c	(working copy)
@@ -53,7 +53,7 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
Index: gcc.dg/vect/no-vfa-vect-102a.c
===================================================================
--- gcc.dg/vect/no-vfa-vect-102a.c	(revision 191440)
+++ gcc.dg/vect/no-vfa-vect-102a.c	(working copy)
@@ -53,7 +53,7 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
Index: gcc.dg/vect/no-vfa-vect-37.c
===================================================================
--- gcc.dg/vect/no-vfa-vect-37.c	(revision 191440)
+++ gcc.dg/vect/no-vfa-vect-37.c	(working copy)
@@ -58,6 +58,6 @@ 
    If/when the aliasing problems are resolved, unalignment may
    prevent vectorization on some targets.  */
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/no-vfa-vect-79.c
===================================================================
--- gcc.dg/vect/no-vfa-vect-79.c	(revision 191440)
+++ gcc.dg/vect/no-vfa-vect-79.c	(working copy)
@@ -46,6 +46,6 @@ 
   If/when the aliasing problems are resolved, unalignment may
   prevent vectorization on some targets.  */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-104.c
===================================================================
--- gcc.dg/vect/vect-104.c	(revision 191440)
+++ gcc.dg/vect/vect-104.c	(working copy)
@@ -64,7 +64,7 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
Index: gcc.dg/vect/vect-outer-1-big-array.c
===================================================================
--- gcc.dg/vect/vect-outer-1-big-array.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1-big-array.c	(working copy)
@@ -22,6 +22,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-1.c
===================================================================
--- gcc.dg/vect/vect-outer-1.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1.c	(working copy)
@@ -22,6 +22,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-1a-big-array.c
===================================================================
--- gcc.dg/vect/vect-outer-1a-big-array.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1a-big-array.c	(working copy)
@@ -20,6 +20,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-1a.c
===================================================================
--- gcc.dg/vect/vect-outer-1a.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1a.c	(working copy)
@@ -20,6 +20,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-1b-big-array.c
===================================================================
--- gcc.dg/vect/vect-outer-1b-big-array.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1b-big-array.c	(working copy)
@@ -22,6 +22,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-1b.c
===================================================================
--- gcc.dg/vect/vect-outer-1b.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-1b.c	(working copy)
@@ -22,6 +22,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-2b.c
===================================================================
--- gcc.dg/vect/vect-outer-2b.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-2b.c	(working copy)
@@ -37,6 +37,6 @@ 
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-3a-big-array.c
===================================================================
--- gcc.dg/vect/vect-outer-3a-big-array.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-3a-big-array.c	(working copy)
@@ -49,6 +49,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-3a.c
===================================================================
--- gcc.dg/vect/vect-outer-3a.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-3a.c	(working copy)
@@ -49,6 +49,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-outer-3b.c
===================================================================
--- gcc.dg/vect/vect-outer-3b.c	(revision 191440)
+++ gcc.dg/vect/vect-outer-3b.c	(working copy)
@@ -49,6 +49,6 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "grouped access in outer loop" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "grouped access in outer loop" 4 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-reduc-dot-s8b.c
===================================================================
--- gcc.dg/vect/vect-reduc-dot-s8b.c	(revision 191440)
+++ gcc.dg/vect/vect-reduc-dot-s8b.c	(working copy)
@@ -58,7 +58,7 @@ 
 }
 
 /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_multiple_sizes } } } */
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */