diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/combine.c | 5 |
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: |