https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90071
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Status|NEW |ASSIGNED CC| |rguenth at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- reassoc does this: @@ -51,9 +75,11 @@ f: _7 = d_20(D) != 0; _9 = _4 < 0; - _10 = _7 | _9; + _18 = (unsigned int) e_21(ab); + _16 = _18 + 1; + _14 = _16 > 1; _17 = _4 > 1; - _6 = _10 | _17; + _6 = _14 | _7; _8 = (int) _6; _12 = (long int) _8; _13 = (void *) _12; it's likely folding _4 = e.1_3 + 1; _9 = _4 < 0; here. I'll take a look.