[gcc/devel/c++-modules] [testsuite] Fix PR94019 to check vector char when vect_hw_misalign
Nathan Sidwell
nathan@gcc.gnu.org
Tue Mar 10 13:15:23 GMT 2020
https://gcc.gnu.org/g:cb2c60206f4f2218f84ccde21663b00de068d8c7
commit cb2c60206f4f2218f84ccde21663b00de068d8c7
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-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 | 6 ++++++
gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c | 5 ++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2126a24c3ea..b72b9cb1928 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+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-09 Kewen Lin <linkw@gcc.gnu.org>
PR testsuite/94023
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