https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67441
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Hum - it's a bug that the unroller leaves the same MEM_EXPRs because now the later load/store does not seem to alias one with an adjusted MEM, like for for (i = 0; i < SIZE; i++) { x[i] = x[i] + 1.0; x[i+1] = x[i+1] + 2.0; } we'd get invalid non-alias answers from the orcale for an unrolled body. Not sure if there is any transform that would result in invalid code though (well, scheduling, of course...).