https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69720
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- So we end up vectorizing the outer loop in for (; a<6; a++) { b ^= e; tem = d[a*6]; for (c = 0; c < 2; c++) tem |= 9; d[a*6] = tem; } where the store-motioned d[] load wasn't vectorizable before the change. We generate totally stupid vectorized b ^= e and then fuck up trying to generate totally stupid vectorized d :/