https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121952
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- bool0 - bool1 -> bool0 ^ bool1 bool0 + bool1 -> bool0 ^ bool1 Also: _7 = n_21 - _6; _8 = _7 + 1; _29 = _8 & 1; expected_24 = _29 == 0; The +1 and == 0 cancel each other out.
