https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111542
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > Note IOR with != 0 has the same issue. > Full testcase: > ``` > _Bool f_and(int x,int y) > { > _Bool a = x == 0; > _Bool b = y == 0; > _Bool t = a & b; > return t & !a; > } > > > _Bool f_or(int x,int y) > { > _Bool a = x != 0; > _Bool b = y != 0; > _Bool t = a | b; > return t | !a; > } > ``` f_or is caught since the fix for PR 111543 (r14-4241-g1bf0cd05cb3088).