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 <[email protected]>
* 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.
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
*-*-* } } } */