https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68990
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think the problem is: ********** Pseudos coalescing #1: ********** Coalescing move 5:r91(91)-r103(103) (freq=1) Removing move 5 (freq=1) deleting insn with uid = 5. Make unique value for inheritance r256 Make unique value for inheritance r257 Make unique value for inheritance r258 Make unique value for inheritance r259 Make unique value for inheritance r260 Make unique value for inheritance r262 Make unique value for inheritance r264 Coalesced Moves = 1 in the other spot where insn 5 is it is perhaps possible to coalesce the two pseudos, but not at the int m = -b; if (m < b) comparison, where it breaks it.