After
r14-2885-gb9237226fdc938, this pattern becomes
redundant as we match it using bitwise_inverted_equal_p.
There is already a testcase (gcc.dg/nand.c) for this pattern
and it still passes after the removal.
OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
gcc/ChangeLog:
PR tree-optimization/111146
* match.pd (`(x | y) & ~x`, `(x & y) | ~x`): Remove
redundant pattern.
(bit_ior:c (bit_xor:s @0 @1) (bit_not:s (bit_ior:s @0 @1)))
(bit_not (bit_and @0 @1)))
-/* (x | y) & ~x -> y & ~x */
-/* (x & y) | ~x -> y | ~x */
-(for bitop (bit_and bit_ior)
- rbitop (bit_ior bit_and)
- (simplify
- (bitop:c (rbitop:c @0 @1) (bit_not@2 @0))
- (bitop @1 @2)))
-
/* (x & y) ^ (x | y) -> x ^ y */
(simplify
(bit_xor:c (bit_and @0 @1) (bit_ior @0 @1))