https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106187
--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Earnshaw from comment #29) > Thanks for having a look, yes, I was at a loss to understand how that change > (which is before the problematic hunk would be the cause of the problem. It > looks like we can rule that change out as a real fix. > > > The code at RTL expansion time looks reasonable (also from an aliasing POV), > > if -fno-strict-aliasing fixes it, does -fno-schedule-insn{,2} also? > > Yes, disabling scheduling also solves the issue. There are several sched* debug counters, so maybe bisecting to the wrong schedule via -fdbg-cnt=sched_insn might work. I think the above strongly hints at either RTL/target messing up alias info somewhere or scheduling not properly computing dependences.