https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103514
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note the loop should be: (for first_op (bit_xor eq ) second_op (eq bit_xor) (simplify (first_op:c (bit_and:c truth_valued_p@0 truth_valued_p@1) (second_op:c @0 @1)) (bit_not (bit_ior @0 @1))))) No reason fore the double for loop