fold-const.c (fold_binary): Fold (X & 1) ^ 1 as (X & 1) == 0.
authorRoger Sayle <roger@eyesopen.com>
Sun, 26 Feb 2006 16:10:30 +0000 (16:10 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 26 Feb 2006 16:10:30 +0000 (16:10 +0000)
commitcef65eaa924c2c9eff16af8a19b051ad61d65ec2
tree023ddcdab0e55bd4a22ee47cd852342b1535a05e
parenta861485caf6698fe171b1d80a78f3f73091615eb
fold-const.c (fold_binary): Fold (X & 1) ^ 1 as (X & 1) == 0.

* fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
(X & 1) == 0.
<BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.

* gcc.dg/fold-even-1.c: New test case.

From-SVN: r111454
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/fold-even-1.c [new file with mode: 0644]