https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111541
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Note this also should be optimized: ``` _Bool foo1(_Bool x, _Bool y, unsigned a) { _Bool c = a != 0; return x & !c | (y | c); } ``` Down to: ``` _Bool foo1_(_Bool x, _Bool y, unsigned a) { _Bool c = a != 0; return x | (y | c); } ```