https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99927
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #5) > But what is wrong is that try_combine has been called at all, because > (reg:CCZ 17 flags) is used in 3 instructions rather than just one. That is not a problem; If that were true it just would mean that added_sets_2 should be set: added_sets_2 = !dead_or_set_p (i3, i2dest); But, the flags reg actually *is* dead in i3 (insn 108), it dies in i2 (insn 107): (expr_list:REG_DEAD (reg:SI 107) So something earlier is bad already.