https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92140
--- Comment #20 from Segher Boessenkool <segher at gcc dot gnu.org> --- Ah, okay. So it is either one or two insns (zero can not be handled, but you can do a noop, a move of a reg to itself, and that will be optimised away just fine). Three insns is not something combine ever handles at all: it's always {2,3,4}->{1,2}. Since some years new pseudos *can* be created during combine, but there are various problems with that still.