re PR middle-end/23670 (Fold does not fold (a|b)&b to b likewise for (a&b) | b to b)
authorRoger Sayle <roger@eyesopen.com>
Tue, 14 Feb 2006 21:08:52 +0000 (21:08 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Tue, 14 Feb 2006 21:08:52 +0000 (21:08 +0000)
commit03bebcacbedccd204bb09a4cfb75caf6cc8b21dd
treebdacffd2a9c579632752e1e9a4855d9be7b49879
parentce99d59440477170c00aa9ef2c2dfacb42e6f25f
re PR middle-end/23670 (Fold does not fold (a|b)&b to b likewise for (a&b) | b to b)

PR middle-end/23670
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
(X,Y) and the corresponding symmetry related transformations.
(fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
(X,Y) and its symmetry related transformations.

* gcc.dg/tree-ssa/andor-2.c: New test case.

From-SVN: r110997
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/andor-2.c [new file with mode: 0644]