https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78261
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, the testcase sums in[0] + in[8] + in[16] + ... and is vectorized using interleaving which means the last vector iteration would load from outside of the array. So we apply peeling for gaps. Now the question is why IPA-CP doesn't propagate alignment here (it doesn't even for -O3): callsite main/2 -> test/1 : param 0: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 1: CONST: &in value: 0x0, mask: 0x0fffffffffffffff0 VR ~[0, 0] param 2: CONST: 1 value: 0x1, mask: 0x0 Unknown VR Not considering test for cloning; no hot calls. Marking all lattices of test/1 as BOTTOM ah. Because it's called from main. Well, so everything works as intended. You likely see unaligned loads being performed as well.