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.