aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-03-09 17:06:25 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-03-09 17:06:25 +0000
commit7ce3e360d677bac3834870166daa19102354f97d (patch)
tree5ba3ac08512b4ef5ef973ef6ab99aab95cee4053 /gcc/combine.c
parent0da99d4e61c59953f97eade1f44c23205c7949f5 (diff)
downloadgcc-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.c17
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);