This removes the genmatch warnings. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.
Richard. 2015-10-26 Richard Biener <rguent...@suse.de> * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c. ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c. Index: gcc/match.pd =================================================================== --- gcc/match.pd (revision 229307) +++ gcc/match.pd (working copy) @@ -435,7 +435,7 @@ (define_operator_list RINT BUILT_IN_RINT /* Fold (A & ~B) - (A & B) into (A ^ B) - B. */ (simplify - (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)) + (minus (bit_and:cs @0 (bit_not @1)) (bit_and:cs @0 @1)) (minus (bit_xor @0 @1) @1)) (simplify (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)) @@ -449,7 +449,7 @@ (define_operator_list RINT BUILT_IN_RINT /* Simplify (X & ~Y) | (~X & Y) -> X ^ Y. */ (simplify - (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)) + (bit_ior (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)) (bit_xor @0 @1)) (simplify (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0) INTEGER_CST@1))