https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87802

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ah, ok.

/home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/vect/slp-pr87105.cc:98:1:
missed:   not vectorized: bad data alignment in basic block.

looks like with the flags we do not support unaligned accesses.  Removing
the -mno-allow-movmisalign flag fixes this.

Does the following work?  If so please go ahead and install it.

Index: gcc/testsuite/g++.dg/vect/slp-pr87105.cc
===================================================================
--- gcc/testsuite/g++.dg/vect/slp-pr87105.cc    (revision 265619)
+++ gcc/testsuite/g++.dg/vect/slp-pr87105.cc    (working copy)
@@ -99,7 +99,7 @@ void quadBoundingBoxA(const Point bez[3]

 // We should have if-converted everything down to straight-line code
 // { dg-final { scan-tree-dump-times "<bb \[0-9\]+>" 1 "slp2" } }
-// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" }
}
+// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" {
xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }
 // It's a bit awkward to detect that all stores were vectorized but the
 // following more or less does the trick
-// { dg-final { scan-tree-dump "vect_iftmp\[^\r\m\]* = MIN" "slp2" } }
+// { dg-final { scan-tree-dump "vect_iftmp\[^\r\m\]* = MIN" "slp2" { xfail { {
! vect_element_align } && { ! vect_hw_misalign } } } } }

Reply via email to