https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67756
--- Comment #14 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Bernd Edlinger from comment #5) > > My patch from yesterday makes no difference here, but what's funny is, > that the set register was originally r138 but now the dump says > "set (reg/v:SI 1 r1 [orig:112 ...". LRA creates a pseudo for matching reload operands and on the subsequent sub-pass assign a hard register to it. When we create the pseudo it can be originated only from one pseudo p138 or p112 (matching pseudo operands). Therefore we have such result. It could be fixed but I don't see the efforts needed to spend on this is worth to fix this. This discrepancy exists only between the insn and the corresponding output reload.