diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-09-26 14:55:37 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-09-26 14:55:37 +0000 |
commit | 5c8c573a86eddc5949d59c602704775d1671a8fb (patch) | |
tree | db4293301b71d4308679247cdc600896820a00f2 | |
parent | bf4d99cf13529bf27567caaa6f305f276162d787 (diff) | |
download | gcc-5c8c573a86eddc5949d59c602704775d1671a8fb.zip gcc-5c8c573a86eddc5949d59c602704775d1671a8fb.tar.gz gcc-5c8c573a86eddc5949d59c602704775d1671a8fb.tar.bz2 |
re PR rtl-optimization/17151 (x >> (y % WORDSIZE) not optimized)
PR middle-end/17151
* combine.c (force_to_mode): Remove dubious early return test that
inhibits further optimization.
From-SVN: r88129
-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: |