summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-19 23:39:34 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-19 23:39:34 +0000
commit30c1b2686aa49cf15f9ac9c0ad09192dde4689e1 (patch)
treec0941e6a8ac98aeec26ccf196ddf2c21706f911e /gcc/combine.c
parent4513ed294e19b94168e24ba034f3ed502d76d520 (diff)
downloadgcc-30c1b2686aa49cf15f9ac9c0ad09192dde4689e1.tar.gz
fix subreg optimization bug introduced 2002-05-25
* combine.c (simplify_set): When optimizing a subreg src with a cc0 dest, use GET_MODE (src) for mask instead of inner_mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57323 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index c72d81e891c..23136194bf0 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -5229,7 +5229,7 @@ simplify_set (x)
if (GET_MODE_BITSIZE (inner_mode) <= HOST_BITS_PER_WIDE_INT
&& (nonzero_bits (inner, inner_mode)
< ((unsigned HOST_WIDE_INT) 1
- << (GET_MODE_BITSIZE (inner_mode) - 1))))
+ << (GET_MODE_BITSIZE (GET_MODE (src)) - 1))))
{
SUBST (SET_SRC (x), inner);
src = SET_SRC (x);