https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120983
--- Comment #6 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #4)
> Oh look:
> /* Both the earlyclobber operand and conflicting operand
> cannot both be user defined hard registers. */
> if (HARD_REGISTER_P (operand_reg[i])
> && REG_USERVAR_P (operand_reg[i])
> && operand_reg[j] != NULL_RTX
> && HARD_REGISTER_P (operand_reg[j])
> && REG_USERVAR_P (operand_reg[j]))
> {
> /* For asm, let curr_insn_transform diagnose it. */
> if (INSN_CODE (curr_insn) < 0)
> return false;
> fatal_insn ("unable to generate reloads for "
> "impossible constraints:", curr_insn);
> }
>
>
> Which dates to PR 87600.
Yup, the change was to detect broken inline-asm. But I don't think it should
happen w/o inline-asm.