https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88841
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2019-01-15 Component|other |tree-optimization Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is the tests are split in different ways. isspc_1 (char c) { bool D.2304; bool iftmp.0; _1 = c == 32; _2 = c == 10; _3 = _1 | _2; if (_3 != 0) goto <D.2306>; else goto <D.2309>; <D.2309>: _4 = c == 13; _5 = c == 9; _6 = _4 | _5; if (_6 != 0) goto <D.2306>; else goto <D.2307>; vs. isspc_2 (char c) { bool D.2311; bool iftmp.1; _1 = c == 32; _2 = c == 13; _3 = _1 | _2; if (_3 != 0) goto <D.2313>; else goto <D.2316>; <D.2316>: c.2_4 = (unsigned char) c; _5 = c.2_4 + 247; if (_5 <= 1) goto <D.2313>; else goto <D.2314>;