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.