https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84005
--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- With the current vect alignment computations, we end up using the alignment of the arrays, so on x86_64 it's 256bits (DATA_ALIGNMENT bumps the alignment up) and on ppc64 it's 32bits, no alignment bump. Back on Jul 2, AFAICT we'd miscompute the alignment: dr_analyze_innermost would set up base_iv with the array ptr and the loop increment, and the offset from base, that would have made to offset_iv and from that to DR_ALIGNED_TO, ends up having the constant moved to DR_INIT, and DR_ALIGNED_TO, initialized from a zero offset, ends up as BIGGEST_ALIGNMENT. I don't see that we can proceed to vectorizing the loop if we can't guarantee alignment, so it seems like the so-called regression is actually progress, and it would only have worked at run time by accident. The solution to enable vectorization, AFAICT, is to explicitly specify higher alignment for the arrays in the testcases.