https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88714
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Ah, except that isn't all that r265398 did. It has both the make_more_copies part and || (HARD_REGISTER_P (dest) - && ! TEST_HARD_REG_BIT (fixed_reg_set, REGNO (dest)) - && targetm.class_likely_spilled_p (REGNO_REG_CLASS (REGNO (dest)))))) + && ! TEST_HARD_REG_BIT (fixed_reg_set, REGNO (dest))))) hunk in cant_combine_insn_p. If I revert both, then it works properly, but as I said, not doing make_more_copies alone or reverting this class_likely_spilled_p check alone doesn't fix it.