https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95923
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-08-07 Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Mine. _1 = ~a_6(D); _3 = _1 & b_7(D); if (_3 != 0) goto <bb 5>; [34.00%] else goto <bb 4>; [66.00%] <bb 4> [local count: 467721933]: _10 = _1 | b_7(D); <bb 5> [local count: 1073741824]: # _5 = PHI <0(3), _10(4), 0(2)> This is _3 ? 0 : _10 -> (_10 & ~3) And then this simplifies more.