While we could at least vectorize it on targets which support
re-alignment tokens we fail to do this because of imperfections in
alignment analysis.  XFAIL when the HW cannot deal with misaligned
vector accesses for now.

Pushed.

2021-03-11  Richard Biener  <rguent...@suse.de>

        PR testsuite/97494
        * gcc.dg/vect/pr97428.c: XFAIL on !vect_hw_misalign.
---
 gcc/testsuite/gcc.dg/vect/pr97428.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/vect/pr97428.c 
b/gcc/testsuite/gcc.dg/vect/pr97428.c
index 49d53738256..bbd743a76c4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr97428.c
+++ b/gcc/testsuite/gcc.dg/vect/pr97428.c
@@ -40,5 +40,7 @@ void foo_i2(dcmlx4_t dst[], const dcmlx_t src[], int n)
    load and store groups.  */
 /* { dg-final { scan-tree-dump "Detected interleaving load of size 8" "vect" } 
} */
 /* { dg-final { scan-tree-dump "Detected interleaving store of size 16" "vect" 
} } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" } 
} */
+/* We're not able to peel & apply re-aligning to make accesses well-aligned 
for !vect_hw_misalign,
+   but we could by peeling the stores for alignment and applying re-aligning 
loads.  */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { 
xfail { ! vect_hw_misalign } } } } */
 /* { dg-final { scan-tree-dump-not "gap of 6 elements" "vect" } } */
-- 
2.26.2

Reply via email to