https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88919
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2019-01-21 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Passes for me on x86_64-linux. Can you investigate a bit more? The key observation should be that compared to before the rev. the loop for (int i = 0; i < 512; ++i) { x[2*i] = x[2*i] << (i+1); x[2*i+1] = x[2*i+1] << (i+1); } should be vectorized using a vector << vector shift (rather than vector << scalar).