https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107704
--- Comment #10 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Richard Sandiford from comment #9) > I think the .md pattern either has to treat both appearances of the T > register as operands or hard-code both of them. Do you mean to make it a multi-set pattern, like (define_insn_and_split "mov_neg_si_t" [(set (match_operand:SI 0 "arith_reg_dest" "=r") (neg:SI (match_operand 1 "treg_set_expr"))) (set (reg:SI T_REG) (... ))] ... ... or something like that?