https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105231
--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Yes, but still the float_extend:XF would have made may_trap_p say > the insn possibly traps but there's no EH on it despite > -fnon-call-exceptions. The REG_EH note is added by make_reg_eh_region_note but then removed by purge_dead_edges because of the REG_EQUAL note: /* If this instruction cannot trap, remove REG_EH_REGION notes. */ if (NONJUMP_INSN_P (insn) && (note = find_reg_note (insn, REG_EH_REGION, NULL))) { rtx eqnote; if (! may_trap_p (PATTERN (insn)) || ((eqnote = find_reg_equal_equiv_note (insn)) && ! may_trap_p (XEXP (eqnote, 0)))) remove_note (insn, note); }