aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-08-18 16:59:12 +0000
committerRichard Stallman <rms@gnu.org>1992-08-18 16:59:12 +0000
commit89f1c7f2578fb5b069a4eb9ca676b4e6b7503ca1 (patch)
treee8225a7520a2be4ee563ef446c244c9d6afb0d10 /gcc
parent60d001174940244eb699c15cd14450306df9900d (diff)
downloadgcc-89f1c7f2578fb5b069a4eb9ca676b4e6b7503ca1.zip
gcc-89f1c7f2578fb5b069a4eb9ca676b4e6b7503ca1.tar.gz
gcc-89f1c7f2578fb5b069a4eb9ca676b4e6b7503ca1.tar.bz2
(simplify_comparison): Rearrange conditional in SUBREG case.
From-SVN: r1886
Diffstat (limited to 'gcc')
-rw-r--r--gcc/combine.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index e55b33d..f23ba1b 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -7544,10 +7544,12 @@ simplify_comparison (code, pop0, pop1)
break;
case SUBREG:
- /* If the inner mode is smaller and we are extracting the low
- part, we can treat the SUBREG as if it were a ZERO_EXTEND. */
- if (! subreg_lowpart_p (op0)
- || GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (op0))) >= mode_width)
+ /* If the inner mode is narrower and we are extracting the low part,
+ we can treat the SUBREG as if it were a ZERO_EXTEND. */
+ if (subreg_lowpart_p (op0)
+ && GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (op0))) < mode_width)
+ /* Fall through */ ;
+ else
break;
/* ... fall through ... */