https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71680
--- Comment #13 from Alan Modra <amodra at gmail dot com> --- The e500 issue is quite different, and is not fixed by my lra patch. From the lra dump, Creating newreg=436, assigning class NO_REGS to save r436 536: r192:SI=0x1 REG_EQUAL 0x1 Add reg<-save after: 621: r362:SI#0=r436:DF 184: NOTE_INSN_BASIC_BLOCK 21 Add save<-reg after: 620: r436:DF=r362:SI#0 So r362 is being saved for some reason, then later: Reassigning non-reload pseudos Assign 66 to r362 (freq=4000) so r362 is finding its way into ctr.