aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-01-25 17:45:16 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-01-25 17:45:16 +0000
commitad487c38165975bc7980d362b3a664808deae35c (patch)
tree593199813ce2d072fac01d971d875d5eb65de1b6 /gcc/combine.c
parent07d9b20d818e83c12fee88ea4c41f3788ccee94b (diff)
downloadgcc-ad487c38165975bc7980d362b3a664808deae35c.zip
gcc-ad487c38165975bc7980d362b3a664808deae35c.tar.gz
gcc-ad487c38165975bc7980d362b3a664808deae35c.tar.bz2
combine.c (simplify_comparison, case AND): Remove a redundant test.
* combine.c (simplify_comparison, case AND): Remove a redundant test. From-SVN: r61787
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 75a4e5f..d21daa0 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -10908,6 +10908,12 @@ simplify_comparison (code, pop0, pop1)
represents the low part, permute the SUBREG and the AND and
try again. */
if (GET_CODE (XEXP (op0, 0)) == SUBREG
+ /* It is unsafe to commute the AND into the SUBREG if the SUBREG
+ is paradoxical and WORD_REGISTER_OPERATIONS is not defined.
+ As originally written the upper bits have a defined value
+ due to the AND operation. However, if we commute the AND
+ inside the SUBREG then they no longer have defined values
+ and the meaning of the code has been changed. */
&& (0
#ifdef WORD_REGISTER_OPERATIONS
|| ((mode_width
@@ -10919,16 +10925,6 @@ simplify_comparison (code, pop0, pop1)
<= (GET_MODE_BITSIZE
(GET_MODE (SUBREG_REG (XEXP (op0, 0))))))
&& subreg_lowpart_p (XEXP (op0, 0))))
-#ifndef WORD_REGISTER_OPERATIONS
- /* It is unsafe to commute the AND into the SUBREG if the SUBREG
- is paradoxical and WORD_REGISTER_OPERATIONS is not defined.
- As originally written the upper bits have a defined value
- due to the AND operation. However, if we commute the AND
- inside the SUBREG then they no longer have defined values
- and the meaning of the code has been changed. */
- && (GET_MODE_SIZE (GET_MODE (XEXP (op0, 0)))
- <= GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (op0, 0)))))
-#endif
&& GET_CODE (XEXP (op0, 1)) == CONST_INT
&& mode_width <= HOST_BITS_PER_WIDE_INT
&& (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (XEXP (op0, 0))))