https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77594
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2016-09-15 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- case MINUS_EXPR: if (integer_zerop (arg0) && !unsr_p) expand_neg_overflow (loc, lhs, arg1, false); /* FALLTHRU */ case PLUS_EXPR: expand_addsub_overflow (loc, code, lhs, arg0, arg1, unsr_p, unsr_p, unsr_p, false); return; indeed contains premature optimization (handling 0 - x) and missing a return.