https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87871
--- Comment #22 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Wilco from comment #21) > (In reply to Vladimir Makarov from comment #20) >> The question is why p116 conflicts with hr0. Before RA we have > > That's a bug since register copies should not create a conflict. It's one of > the most basic optimization of register allocator. > > And there is also the question why we do move r0 into a virtual register but > not assign the virtual register to an argument register. We don't since my patch adding that support in current trunk. That said, if non_conflicting_reg_copy_p() returns NULL_RTX for that r116=r0 copy insn, then they will conflict. So what does non_conflicting_reg_copy_p() return? ...and if it says they conflict, why? The insn has side effects or SImode is a register pair on arm or ???