summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-14 10:39:49 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-14 10:39:49 +0000
commit4d90f0b2ac05f819e7fbc6a0a8277feaf6890770 (patch)
treecaf19a4bf9883cf30f48c46a4ee9758d16695234 /gcc
parent4e44a132b7826f354844418d514df4de0590fd4a (diff)
downloadppe42-gcc-4d90f0b2ac05f819e7fbc6a0a8277feaf6890770.tar.gz
ppe42-gcc-4d90f0b2ac05f819e7fbc6a0a8277feaf6890770.zip
* combine.c (simplify_comparison): Don't change `code' when
can't reverse comparison. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39007 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c16
2 files changed, 16 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8e7d40ddc2c..785fd26a28f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * combine.c (simplify_comparison): Don't change `code' when
+ can't reverse comparison.
+
2001-01-14 Richard Henderson <rth@redhat.com>
* rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
diff --git a/gcc/combine.c b/gcc/combine.c
index 055cfc353f0..30b13c8d692 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -10710,13 +10710,19 @@ simplify_comparison (code, pop0, pop1)
&& (STORE_FLAG_VALUE
& (((HOST_WIDE_INT) 1
<< (GET_MODE_BITSIZE (GET_MODE (op0)) - 1))))
- && (code == LT || (code == GE))))
+ && (code == LT || code == GE)))
{
- code = (code == LT || code == NE
- ? GET_CODE (op0) : combine_reversed_comparison_code (op0));
- if (code != UNKNOWN)
+ enum rtx_code new_code;
+ if (code == LT || code == NE)
+ new_code = GET_CODE (op0);
+ else
+ new_code = combine_reversed_comparison_code (op0);
+
+ if (new_code != UNKNOWN)
{
- op0 = tem, op1 = tem1;
+ code = new_code;
+ op0 = tem;
+ op1 = tem1;
continue;
}
}
OpenPOWER on IntegriCloud