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 } } } } }