https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112659
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Severity|normal |enhancement Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2023-11-21 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Mine. We get in phiopt1: v_2(D) == -8 ? 0 : _4 where _4 is defined as: _4 = v_2(D) + 8; So maybe ``` (simplify (cond (eq @0 INTEGER_CST@1) zero_p (plus@3 @0 INTEGER_CST@2)) @3 ) ``` Note GCC handles already on the trunk: ``` int optb(int v, int b) { if (v -b) return v - b; else return 0; } int optc(int v, int b) { if (v + b) return v + b; else return 0; } ```