https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110937
Bug ID: 110937 Summary: (bool0 ? bool1^1 : bool1) is not optimized to bool0 ^ bool1 Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Take: ``` _Bool f2(_Bool a, _Bool b) { if (a) return !b; return b; } ``` This should be optimized to just: ``` _Bool f2_(_Bool a, _Bool b) { return a ^ b; } ```