aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/combine.c5
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 700cabf..af865b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-26 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/17151
+ * combine.c (force_to_mode): Remove dubious early return test that
+ inhibits further optimization.
+
2004-09-26 Kazu Hirata <kazu@cs.umass.edu>
* profile.c: Fix a comment typo.
diff --git a/gcc/combine.c b/gcc/combine.c
index f0b5b06..ad5ec64 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -6904,11 +6904,6 @@ force_to_mode (rtx x, enum machine_mode mode, unsigned HOST_WIDE_INT mask,
&& (GET_MODE_MASK (GET_MODE (x)) & ~mask) == 0)
return gen_lowpart (mode, x);
- /* If we aren't changing the mode, X is not a SUBREG, and all zero bits in
- MASK are already known to be zero in X, we need not do anything. */
- if (GET_MODE (x) == mode && code != SUBREG && (~mask & nonzero) == 0)
- return x;
-
switch (code)
{
case CLOBBER: