https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70102
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that LIM after reassoc performs store motion but that's too late for reassocs heuristic involving reductions. Which means we have a pass ordering issue between reassoc and LIM (store motion to be precise, for the invariant part reassoc is needed before LIM).