aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-11-21 17:43:24 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-11-21 17:43:24 +0000
commit91f161b03b649984991573c2f2605555da4a678c (patch)
tree4035d017f68ce2f82cb189e9204ddbb89a9f0687 /gcc
parent934f135b967c7501be6e2e10a2c3c03c54a198d3 (diff)
downloadgcc-91f161b03b649984991573c2f2605555da4a678c.zip
gcc-91f161b03b649984991573c2f2605555da4a678c.tar.gz
gcc-91f161b03b649984991573c2f2605555da4a678c.tar.bz2
Add more markup to vect-alias-check-{1,18}.c (PR 92543)
In vect-alias-check-1.c we unroll the inner loop and then vectorise the stores at a[c + 1][b]. Since the access has no guaranteed alignemnt, we need a realignment mechanism or support for unaligned accesses in order to vectorise. In vect-alias-check-18.c we use a reverse access and so need permute support in order to vectorise. I'm not really sure when this part of the testsuite prefers { xfail { ! foo } } and when it prefers { target foo }. xfail seems like the most common choice for the alignment restriction, whereas vect_int and vect_perm are mostly dg-require-effective-target style features, so I went with that combination. 2019-11-21 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ PR testsuite/92543 * gcc.dg/vect/vect-alias-check-1.c: XFAIL the alias check message if there is no realignment support and no support for unaligned accesses. * gcc.dg/vect/vect-alias-check-18.c: Restrict the test for the alias message to targets that have permute support. From-SVN: r278591
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-alias-check-18.c2
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1f69d52..0250eeb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2019-11-21 Richard Sandiford <richard.sandiford@arm.com>
+ PR testsuite/92543
+ * gcc.dg/vect/vect-alias-check-1.c: XFAIL the alias check message
+ if there is no realignment support and no support for unaligned
+ accesses.
+ * gcc.dg/vect/vect-alias-check-18.c: Restrict the test for the
+ alias message to targets that have permute support.
+
+2019-11-21 Richard Sandiford <richard.sandiford@arm.com>
+
PR tree-optimization/92595
* g++.dg/vect/pr92595.cc: New test.
diff --git a/gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c b/gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c
index 3887120..6a2cef1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c
@@ -15,5 +15,5 @@ fn1 ()
}
/* { dg-final { scan-tree-dump "improved number of alias checks from \[0-9\]* to 1" "vect" } } */
-/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-alias-check-18.c b/gcc/testsuite/gcc.dg/vect/vect-alias-check-18.c
index 9d07391..b9f5d2b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-alias-check-18.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-alias-check-18.c
@@ -60,5 +60,5 @@ main (void)
}
/* { dg-final { scan-tree-dump {flags: *WAR\n} "vect" { target vect_int } } } */
-/* { dg-final { scan-tree-dump "using an index-based WAR/WAW test" "vect" } } */
+/* { dg-final { scan-tree-dump "using an index-based WAR/WAW test" "vect" { target { vect_int && vect_perm } } } } */
/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */