diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-03-09 17:06:25 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-03-09 17:06:25 +0000 |
commit | 7ce3e360d677bac3834870166daa19102354f97d (patch) | |
tree | 5ba3ac08512b4ef5ef973ef6ab99aab95cee4053 /gcc/combine.c | |
parent | 0da99d4e61c59953f97eade1f44c23205c7949f5 (diff) | |
download | gcc-7ce3e360d677bac3834870166daa19102354f97d.zip gcc-7ce3e360d677bac3834870166daa19102354f97d.tar.gz gcc-7ce3e360d677bac3834870166daa19102354f97d.tar.bz2 |
simplify-rtx.c (simplify_const_relational_operation): New function renamed from simplify_relational_operation.
* simplify-rtx.c (simplify_const_relational_operation): New function
renamed from simplify_relational_operation.
(simplify_relational_operation): Change prototype to accept an
additional mode argument. Call simplify_const_relational_operation.
(simplify_gen_relational): Update simplify_relational_operation call.
(simplify_ternary_operation): Update simplify_relational_operation
subroutine call to use simplify_const_relational_operation instead.
* rtl.h (simplify_const_relational_operation): Prototype here.
(simplify_relational_operation): Add addtional mode argument.
* combine.c (combine_simplify_rtx): Update calls to
simplify_relational_operation.
(simplify_set): Likewise.
(gen_binary): Likewise.
* cse.c (fold_rtx): Likewise.
* dojump.c (compare_from_rtx): Likewise.
(do_compare_rtx_and_jump): Likewise.
* integrate.c (subst_constants): Likewise.
* unroll.c (simplify_cmp_and_jump_insns): Likewise.
From-SVN: r79187
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index c21d5c9..0262f1c 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3712,19 +3712,9 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int last, if (cmp_mode == VOIDmode) cmp_mode = op0_mode; } - temp = simplify_relational_operation (code, cmp_mode, + temp = simplify_relational_operation (code, mode, cmp_mode, XEXP (x, 0), XEXP (x, 1)); } -#ifdef FLOAT_STORE_FLAG_VALUE - if (temp != 0 && GET_MODE_CLASS (mode) == MODE_FLOAT) - { - if (temp == const0_rtx) - temp = CONST0_RTX (mode); - else - temp = CONST_DOUBLE_FROM_REAL_VALUE (FLOAT_STORE_FLAG_VALUE (mode), - mode); - } -#endif break; case RTX_COMM_ARITH: case RTX_BIN_ARITH: @@ -4993,7 +4983,8 @@ simplify_set (rtx x) tmp_mode = GET_MODE (op1); else tmp_mode = compare_mode; - tmp = simplify_relational_operation (old_code, tmp_mode, op0, op1); + tmp = simplify_const_relational_operation (old_code, tmp_mode, + op0, op1); if (tmp != NULL_RTX) { rtx pat = PATTERN (other_insn); @@ -10108,7 +10099,7 @@ gen_binary (enum rtx_code code, enum machine_mode mode, rtx op0, rtx op1) if (op_mode == VOIDmode) op_mode = GET_MODE (op1); - result = simplify_relational_operation (code, op_mode, op0, op1); + result = simplify_relational_operation (code, mode, op_mode, op0, op1); } else result = simplify_binary_operation (code, mode, op0, op1); |