diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cse.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 03aa317..3edb9b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-10-25 Richard Henderson <rth@redhat.com> + * cse.c (find_comparison_args): Check that we can reverse a + comparison if needed before accepting the substitution. + +2000-10-25 Richard Henderson <rth@redhat.com> + * reload.c (find_reloads_address_part): Kill rtx obstack hackery. 2000-10-25 Richard Henderson <rth@redhat.com> @@ -3234,6 +3234,12 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2) if (x == 0) break; + /* If we need to reverse the comparison, make sure that that is + possible -- we can't necessarily infer the value of GE from LT + with floating-point operands. */ + if (reverse_code && ! can_reverse_comparison_p (x, NULL_RTX)) + break; + arg1 = XEXP (x, 0), arg2 = XEXP (x, 1); if (GET_RTX_CLASS (GET_CODE (x)) == '<') code = GET_CODE (x); |