https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52345
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- // (a | zero_one) != 0 -> a!=0 | zero_one (simplify (ne (bit_ior:c @1 zero_one_value_p@2) integer_zerop@3) (bit_ior (convert @1) (ne @2 @3))) // (a & zero_one) != 0 -> a==0 & (zero_one^1) (simplify (eq (bit_and:c @1 zero_one_value_p@2) integer_zerop@3) (bit_and (convert (bit_xor @1 { build_one_cst (TREE_TYPE (@1)); } )) (ne @2 @3))) Similar to: https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630651.html