https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92796
--- Comment #9 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Vladimir Makarov from comment #7) > A very interesting case, Peter. I reproduced the case too. I can take it > from here if you don't mind. The solution I see for this problem is to > check that if we change operand constraint from IN to INOUT when we change > insn alternative [code as you meantion later] then we reconsider all conflicts > for pseudos already assigned to hard registers. I'm more than fine if you want to handle this yourself, since you know this code better than anyone. I'm guessing this was never a problem before I added the code to not add conflicts for copies. Before then, any two pseudos/registers that were live simultaneously were made to conflict, which would have hid this bug.