https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think it is rtl_split_edge and patch_jump_insn not being able to deal with such conditional jump insns. It has code to deal e.g. with degenerate asm goto and similar insns. Note, I'm not really sure what should splitting an edge mean in that case when there is just one edge. Shall it redirect the branch so that both when the condition is false and true the conditional jump points to the new basic block? Then there should be a new CODE_LABEL added to the new basic block and the conditional jump adjusted to branch to that new CODE_LABEL. Or something else?