This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/28173] [4.0/4.1 regression] misses constant folding
- From: "sayle at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Feb 2007 00:54:39 -0000
- Subject: [Bug rtl-optimization/28173] [4.0/4.1 regression] misses constant folding
- References: <bug-28173-7674@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from sayle at gcc dot gnu dot org 2007-02-19 00:54 -------
Subject: Bug 28173
Author: sayle
Date: Mon Feb 19 00:54:29 2007
New Revision: 122116
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122116
Log:
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.
Added:
trunk/gcc/testsuite/gcc.target/i386/andor-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28173