https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104153
--- Comment #1 from rdapp at linux dot ibm.com --- I was able to reproduce the ICE on a cross compiler. Curiously, we do not even succeed with if-conversion here but nevertheless emit an insn (jump_insn 78 9 79 6 (set (pc) (if_then_else (ne:BI (reg:BI 34 ?sr_f) (reg:SI 160)) (label_ref:SI 218) (pc))) "../../../../../../..//newlib-cygwin/newlib/libm/math/s_floor.c":90:14 77 {*cbranch} (expr_list:REG_DEAD (reg:BI 34 ?sr_f) (int_list:REG_BR_PROB 536870916 (nil))) -> 218) while reg:SI 160 is nowhere to be found. Most likely the way I emit the sequences has side effects that I failed to properly revert. Everything should be inside begin_sequence () end_sequence () blocks but that is not sufficient. I guess if the optabs interfaces are exposed and used like in the patch we also need delete_insns_since () or similar? The problem is most likely latent on other targets as well.