diff options
| author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-14 10:39:49 +0000 |
|---|---|---|
| committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-14 10:39:49 +0000 |
| commit | 4d90f0b2ac05f819e7fbc6a0a8277feaf6890770 (patch) | |
| tree | caf19a4bf9883cf30f48c46a4ee9758d16695234 /gcc | |
| parent | 4e44a132b7826f354844418d514df4de0590fd4a (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/combine.c | 16 |
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; } } |

