Hi! On Sat, Aug 10, 2019 at 08:05:53AM +0200, John Darrington wrote: > Choosing alt 5 in insn 14: (0) m (1) m {*movsi} > 14: [r40:PSI+0x20]=[r41:PSI] > Inserting insn reload before: > 48: r40:PSI=r34:PSI > 49: r41:PSI=[y:PSI+0x2f]
insn 14 is a mem-to-mem move (another feature not many more modern / more RISCy CPUs have). That requires both of your address registers. So far, so good. The reloads (insn 48 and 49) require address registers themselves; that isn't necessarily a problem either. But this requires careful juggling. Maybe you will need some backend code for this, or to optimise this (although right now you just want it to *work* :-) ) For some reason LRA didn't manage. Register inheritance seems to be implicated (but that might be a red herring). Vladimir will probably find out more, and/or correct me :-) Segher