diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2001-07-25 10:34:04 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-07-25 10:34:04 -0700 |
commit | 56f19d92763d69822d82f565382bd87006b8fecf (patch) | |
tree | 3be447faba6492b6cba5983f854ce70ee158e863 | |
parent | a9e83c1b1bf4fff7947c71e91cda457ae0972a65 (diff) | |
download | gcc-56f19d92763d69822d82f565382bd87006b8fecf.zip gcc-56f19d92763d69822d82f565382bd87006b8fecf.tar.gz gcc-56f19d92763d69822d82f565382bd87006b8fecf.tar.bz2 |
alpha.c (alpha_emit_conditional_move): Always swap GE/GT if its an fp comparison.
* config/alpha/alpha.c (alpha_emit_conditional_move): Always
swap GE/GT if its an fp comparison.
From-SVN: r44360
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a867ed7..3e9f613 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -2001-07-19 Andrew Haley <aph@cambridge.redhat.com> +2001-07-25 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_emit_conditional_move): Always + swap GE/GT if its an fp comparison. + +2001-07-25 Andrew Haley <aph@cambridge.redhat.com> * alias.c (rtx_equal_for_memref_p): Allow strings as types in operands. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 1abf97b..d36adcc 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1905,7 +1905,7 @@ alpha_emit_setcc (code) break; case GE: case GT: case GEU: case GTU: - /* These are normally need swapping, but for integer zero we have + /* These normally need swapping, but for integer zero we have special patterns that recognize swapped operands. */ if (!fp_p && op1 == const0_rtx) break; @@ -1996,8 +1996,9 @@ alpha_emit_conditional_move (cmp, mode) break; case GE: case GT: case GEU: case GTU: - /* These must be swapped. */ - if (op1 == CONST0_RTX (cmp_mode)) + /* These normally need swapping, but for integer zero we have + special patterns that recognize swapped operands. */ + if (!fp_p && op1 == const0_rtx) cmp_code = code, code = NE; else { |