https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47004
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Target Milestone|--- |5.0 Keywords| |missed-optimization Known to work| |5.1.0 Status|NEW |RESOLVED Known to fail| |4.9.4 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Fixed for GCC 5 by r5-3799. We get a VRP range now of: _4: [0, +INF(OVF)] For: if (f_2(D) <= l_3(D)) goto <bb 3>; else goto <bb 4>; <bb 3>: _4 = l_3(D) - f_2(D); Which is exactly as we had expected.