diff options
author | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-02 22:39:57 +0000 |
---|---|---|
committer | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-02 22:39:57 +0000 |
commit | 78f1962f92619961713ad0f729abfe9815667f7d (patch) | |
tree | 7cdb1d401796f97fad83229f9a66eb5bc7f2177e /gcc/combine.c | |
parent | 9d651ea6c5f1828da09b9b759030e95bd25002cc (diff) | |
download | gcc-78f1962f92619961713ad0f729abfe9815667f7d.tar.gz |
2012-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
* cfgexpand.c (expand_debug_locations): Encapsulate test for
CONST_DOUBLE in macro.
* combine.c (try_combine, gen_lowpart_for_combine): Ditto.
* cprop.c (implicit_set_cond_p): Ditto.
* cselib.c (rtx_equal_for_cselib_1): Ditto.
* expmed.c (expand_mult): Ditto.
* expr.c (convert_modes): Ditto.
* ira-costs.c (record_reg_classes): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
* print-rtl.c (print_rtx): Ditto.
* recog.c (simplify_while_replacing, const_double_operand)
(asm_operand_ok, constrain_operands): Ditto.
* reg-stack.c (subst_stack_regs_pat): Ditto.
* reload.c (find_reloads, find_equiv_reg): Ditto.
* rtlanal.c (replace_rtx): Remove test.
* rtlanal.c (constant_pool_constant_p, split_double): Encapsulate test for
CONST_DOUBLE in macro.
* simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
(simplify_unary_operation_1, simplify_const_unary_operation)
(simplify_binary_operation_1, simplify_const_binary_operation)
(simplify_relational_operation_1)
(simplify_const_relational_operations)
(implify_subreg): Ditto.
* varasm.c (output_constant_pool_2): Ditto.
* rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New
macros.
* rtl.def (CONST_DOUBLE): Updated comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190105 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index dbc6ff6f962..495e1297e93 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2620,10 +2620,10 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p, if (i1 == 0 && (temp = single_set (i2)) != 0 && (CONST_INT_P (SET_SRC (temp)) - || GET_CODE (SET_SRC (temp)) == CONST_DOUBLE) + || CONST_DOUBLE_AS_INT_P (SET_SRC (temp))) && GET_CODE (PATTERN (i3)) == SET && (CONST_INT_P (SET_SRC (PATTERN (i3))) - || GET_CODE (SET_SRC (PATTERN (i3))) == CONST_DOUBLE) + || CONST_DOUBLE_AS_INT_P (SET_SRC (PATTERN (i3)))) && reg_subword_p (SET_DEST (PATTERN (i3)), SET_DEST (temp))) { rtx dest = SET_DEST (PATTERN (i3)); @@ -5105,8 +5105,7 @@ subst (rtx x, rtx from, rtx to, int in_dest, int in_cond, int unique_copy) return new_rtx; if (GET_CODE (x) == SUBREG - && (CONST_INT_P (new_rtx) - || GET_CODE (new_rtx) == CONST_DOUBLE)) + && (CONST_INT_P (new_rtx) || CONST_DOUBLE_AS_INT_P (new_rtx))) { enum machine_mode mode = GET_MODE (x); @@ -7134,8 +7133,7 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos, if (mode == tmode) return new_rtx; - if (CONST_INT_P (new_rtx) - || GET_CODE (new_rtx) == CONST_DOUBLE) + if (CONST_INT_P (new_rtx) || CONST_DOUBLE_AS_INT_P (new_rtx)) return simplify_unary_operation (unsignedp ? ZERO_EXTEND : SIGN_EXTEND, mode, new_rtx, tmode); @@ -10646,9 +10644,7 @@ gen_lowpart_for_combine (enum machine_mode omode, rtx x) /* We can only support MODE being wider than a word if X is a constant integer or has a mode the same size. */ if (GET_MODE_SIZE (omode) > UNITS_PER_WORD - && ! ((imode == VOIDmode - && (CONST_INT_P (x) - || GET_CODE (x) == CONST_DOUBLE)) + && ! ((CONST_INT_P (x) || CONST_DOUBLE_AS_INT_P (x)) || isize == osize)) goto fail; |