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;