https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110233
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |5.3.0, 5.5.0 Known to fail| |5.2.0 Keywords|needs-bisection | --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Oh never mind, the problem is IV-OPTS introducing the overflow. before IVOPTs we have: _1 = b.6_9 + -1691021644; _2 = _1 + b.6_9; _3 = _2 + -1691021636; _4 = _3 + g_13; Which does not have any overflow ... But afterwards we have one: _28 = b.6_9 * 2; ... that was broken even in GCC 4.7 and most likely earlier. I had missed that.