http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60546
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Meanwhile -fno-tree-dse also "fixes" this but it only prevents mayhem downstream (Jakub bisected this to a revision that exposed the issue, r158047). You have to disable both tree DSE passes btw, thus it points to a pass running after DSE2. It's not -fhoist-adjacent-loads, not RTL PRE nor RTL loop invariant motion or the scheduler.