https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65979

--- Comment #16 from Kazumoto Kojima <kkojima at gcc dot gnu.org> ---
(In reply to Oleg Endo from comment #15)
Thanks for a quick look!

> However, I think that the emit_move_insn could also be a source of hidden
> problems.  For instance, if the captured insn

Also arguments of emit_move_insn must have the same integer modes.

  if (reg_overlap_mentioned_p (operands[1], operands[2]))
    std::swap (operands[0], operands[2]);

  sh_check_add_incdec_notes (emit_move_insn (operands[2], operands[3]));

might ICE if operands[0] and operands[2] have different modes and
swap happens, though I'm not sure whether such insns are real or not.

Reply via email to