https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66863
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-07-14 Component|ipa |tree-optimization Target Milestone|--- |6.0 Summary|wrong code at -Os and above |[6 Regression] wrong code |on x86_64-linux-gnu |at -Os and above on | |x86_64-linux-gnu Ever confirmed|0 |1 --- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- In VRP: _3 = (short int) a.0_2; if (a.0_2 == -2147483648) goto <bb 7>; else goto <bb 3>; <bb 7>: _10 = ASSERT_EXPR <_3, _3 == 0>; goto <bb 4>; <bb 3>: _11 = ASSERT_EXPR <_3, _3 != 0>; The == ASSERT_EXPR looks fine, but this last != ASSERT_EXPR is a bit optimistic.