https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119690
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #3) > > Originally we compute { 0, +, 1 } here, now in the first iteration > > we do 0 - -2147483648. > > Looking only at what you posted, I'd say > _3 is -2147483647 > _4 is 0 > _7 is computed either as 0 + 1 or -2147483647 - -2147483648, both of which > give 1 > > I don't see any 0 - -2147483648 ? Ah, right, sorry for the confusion. So needs re-analysis on what happens with ranges.