]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR rtl-optimization/28173 (misses constant folding)
authorRoger Sayle <roger@eyesopen.com>
Mon, 19 Feb 2007 00:54:29 +0000 (00:54 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Mon, 19 Feb 2007 00:54:29 +0000 (00:54 +0000)
commit49e7a9d4b821c982a55f9783b7c15cb4bedc5548
tree0df33a267eac0cd5b69159ce8812e9f705957b24
parent1b16dad6f4447d60879db3809d934836260cedf8
re PR rtl-optimization/28173 (misses constant folding)

PR rtl-optimization/28173
* simplify-rtx.c (simplify_binary_operation_1) <IOR>:  Optimize
(X & C1) | C2 as C2 when (C1 & C2) == C1 and X has no side-effects.
Optimize (X & C1) | C2 as X | C2 when (C1 | C2) == ~0.
Canonicalize (X & C1) | C2 as (X & (C1 & ~C2)) | C2.
<AND>: Canonicalize (X | C1) & C2 as (X & C2) | (C1 & C2).

* gcc.target/i386/andor-1.c: New test case.

From-SVN: r122116
gcc/ChangeLog
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/andor-1.c [new file with mode: 0644]