https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Actually we should transform it into ((convert)zero_one_valued_p) & (a != 0) Or ^1 for the == 0 case ... This should allow for better code I think.