aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9da276c..0b22646 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-19 Jim Wilson <wilson@redhat.com>
+
+ * combine.c (simplify_set): When optimizing a subreg src with a
+ cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
+
2002-09-19 Dale Johannesen <dalej@apple.com>
* combine.c (make_extraction): Don't create
invalid subreg.
diff --git a/gcc/combine.c b/gcc/combine.c
index c72d81e..2313619 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);