[gcc r9-8384] [testsuite] Fix PR94019 to check vector char when vect_hw_misalign
Kewen Lin
linkw@gcc.gnu.org
Tue Mar 17 05:33:55 GMT 2020
https://gcc.gnu.org/g:05409a1edd80a96c26cead01d1b65dc9f25a22af
commit r9-8384-g05409a1edd80a96c26cead01d1b65dc9f25a22af
Author: Kewen Lin <linkw@linux.ibm.com>
Date: Sun Mar 8 21:55:11 2020 -0500
[testsuite] Fix PR94019 to check vector char when vect_hw_misalign
As PR94019 shows, without misaligned vector access support but with
realign load, the vectorized loop will end up with realign scheme.
It generates mask (control vector) with return type vector signed
char which breaks the not check.
gcc/testsuite/ChangeLog
2020-03-17 Kewen Lin <linkw@gcc.gnu.org>
Backport from master
2020-03-09 Kewen Lin <linkw@gcc.gnu.org>
PR testsuite/94019
* gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's
without misaligned vector access support.
Diff:
---
gcc/testsuite/ChangeLog | 9 +++++++++
gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c | 5 ++++-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9e2a34396ff..555d9965efd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2020-03-17 Kewen Lin <linkw@gcc.gnu.org>
+
+ Backport from master
+ 2020-03-09 Kewen Lin <linkw@gcc.gnu.org>
+
+ PR testsuite/94019
+ * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's
+ without misaligned vector access support.
+
2020-03-17 Kewen Lin <linkw@gcc.gnu.org>
Backport from master
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
index 04482607b04..333d74ac3e7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c
@@ -41,6 +41,9 @@ main (void)
}
/* { dg-final { scan-tree-dump-not {vect_recog_over_widening_pattern: detected} "vect" } } */
-/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" } } */
+/* On Power, if there is no vect_hw_misalign support, unaligned vector access
+ adopts realign_load scheme. It requires rs6000_builtin_mask_for_load to
+ generate mask whose return type is vector char. */
+/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" { target vect_hw_misalign } } } */
/* { dg-final { scan-tree-dump-not {vector[^ ]* int} "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" } } */
More information about the Gcc-cvs
mailing list