diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-09 17:06:25 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-09 17:06:25 +0000 |
commit | 089b47304e2405eace860abef54e66a960687b4a (patch) | |
tree | 5ba3ac08512b4ef5ef973ef6ab99aab95cee4053 /gcc/integrate.c | |
parent | f352cc1da39e5753bfe0c3c3321e282f3c8a3a3c (diff) | |
download | gcc-089b47304e2405eace860abef54e66a960687b4a.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r-- | gcc/integrate.c | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c index f30e3b950d5..d90dfaa1049 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -2738,24 +2738,8 @@ subst_constants (rtx *loc, rtx insn, struct inline_remap *map, int memonly) if (op_mode == VOIDmode) op_mode = GET_MODE (XEXP (x, 1)); - new = simplify_relational_operation (code, op_mode, + new = simplify_relational_operation (code, GET_MODE (x), op_mode, XEXP (x, 0), XEXP (x, 1)); -#ifdef FLOAT_STORE_FLAG_VALUE - if (new != 0 && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT) - { - enum machine_mode mode = GET_MODE (x); - if (new == const0_rtx) - new = CONST0_RTX (mode); - else - { - REAL_VALUE_TYPE val; - - /* Avoid automatic aggregate initialization. */ - val = FLOAT_STORE_FLAG_VALUE (mode); - new = CONST_DOUBLE_FROM_REAL_VALUE (val, mode); - } - } -#endif break; } @@ -2783,10 +2767,10 @@ subst_constants (rtx *loc, rtx insn, struct inline_remap *map, int memonly) /* We have compare of two VOIDmode constants for which we recorded the comparison mode. */ rtx temp = - simplify_relational_operation (GET_CODE (op0), - map->compare_mode, - XEXP (op0, 0), - XEXP (op0, 1)); + simplify_const_relational_operation (GET_CODE (op0), + map->compare_mode, + XEXP (op0, 0), + XEXP (op0, 1)); if (temp == const0_rtx) new = XEXP (x, 2); |