https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118623
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- RTL if-conversion is it, -fno-if-conversion fixes it. CE1 does IF-THEN-ELSE-JOIN block found, pass 1, test 2, then 3, else 4, join 5 scanning new insn with uid = 33. scanning new insn with uid = 34. scanning new insn with uid = 35. scanning new insn with uid = 36. if-conversion succeeded through noce_try_cmove_arith deleting insn with uid = 4. deleting block 4 Removing jump 12. deleting insn with uid = 12. deleting insn with uid = 14. deleting block 3 Merging block 5 into block 2... changing bb of uid 16 ...