https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97715
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> --- And, actually the function.c change is probably unnecessary, because the if (!crtl->abi->clobbers_full_reg_p (regno)) continue; if (!fixed_regs[i]) continue; should already rule them out. operand_reg_set &= accessible_reg_set; ... /* If a register is too limited to be treated as a register operand, then it should never be allocated to a pseudo. */ if (!TEST_HARD_REG_BIT (operand_reg_set, i)) fixed_regs[i] = 1;