diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2012-08-02 22:39:57 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2012-08-02 22:39:57 +0000 |
commit | 481755378d5632997e4f91b284a4eef52001b79c (patch) | |
tree | 7cdb1d401796f97fad83229f9a66eb5bc7f2177e /gcc/recog.c | |
parent | 36be1dee1d8f88f1da9a27a9ce6d20f8976f210c (diff) | |
download | gcc-481755378d5632997e4f91b284a4eef52001b79c.zip gcc-481755378d5632997e4f91b284a4eef52001b79c.tar.gz gcc-481755378d5632997e4f91b284a4eef52001b79c.tar.bz2 |
cfgexpand.c (expand_debug_locations): Encapsulate test for CONST_DOUBLE in macro.
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.
From-SVN: r190105
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index d7381ab..555bd75 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -587,7 +587,7 @@ simplify_while_replacing (rtx *loc, rtx to, rtx object, break; case MINUS: if (CONST_INT_P (XEXP (x, 1)) - || GET_CODE (XEXP (x, 1)) == CONST_DOUBLE) + || CONST_DOUBLE_AS_INT_P (XEXP (x, 1))) validate_change (object, loc, simplify_gen_binary (PLUS, GET_MODE (x), XEXP (x, 0), @@ -1158,7 +1158,7 @@ const_double_operand (rtx op, enum machine_mode mode) && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) return 0; - return ((GET_CODE (op) == CONST_DOUBLE || CONST_INT_P (op)) + return ((CONST_DOUBLE_P (op) || CONST_INT_P (op)) && (mode == VOIDmode || GET_MODE (op) == mode || GET_MODE (op) == VOIDmode)); } @@ -1707,27 +1707,25 @@ asm_operand_ok (rtx op, const char *constraint, const char **constraints) case 'E': case 'F': - if (GET_CODE (op) == CONST_DOUBLE + if (CONST_DOUBLE_AS_FLOAT_P (op) || (GET_CODE (op) == CONST_VECTOR && GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT)) result = 1; break; case 'G': - if (GET_CODE (op) == CONST_DOUBLE + if (CONST_DOUBLE_AS_FLOAT_P (op) && CONST_DOUBLE_OK_FOR_CONSTRAINT_P (op, 'G', constraint)) result = 1; break; case 'H': - if (GET_CODE (op) == CONST_DOUBLE + if (CONST_DOUBLE_AS_FLOAT_P (op) && CONST_DOUBLE_OK_FOR_CONSTRAINT_P (op, 'H', constraint)) result = 1; break; case 's': - if (CONST_INT_P (op) - || (GET_CODE (op) == CONST_DOUBLE - && GET_MODE (op) == VOIDmode)) + if (CONST_INT_P (op) || CONST_DOUBLE_AS_INT_P (op)) break; /* Fall through. */ @@ -1737,9 +1735,7 @@ asm_operand_ok (rtx op, const char *constraint, const char **constraints) break; case 'n': - if (CONST_INT_P (op) - || (GET_CODE (op) == CONST_DOUBLE - && GET_MODE (op) == VOIDmode)) + if (CONST_INT_P (op) || CONST_DOUBLE_AS_INT_P (op)) result = 1; break; @@ -2578,7 +2574,7 @@ constrain_operands (int strict) case 'E': case 'F': - if (GET_CODE (op) == CONST_DOUBLE + if (CONST_DOUBLE_AS_FLOAT_P (op) || (GET_CODE (op) == CONST_VECTOR && GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT)) win = 1; @@ -2586,15 +2582,13 @@ constrain_operands (int strict) case 'G': case 'H': - if (GET_CODE (op) == CONST_DOUBLE + if (CONST_DOUBLE_AS_FLOAT_P (op) && CONST_DOUBLE_OK_FOR_CONSTRAINT_P (op, c, p)) win = 1; break; case 's': - if (CONST_INT_P (op) - || (GET_CODE (op) == CONST_DOUBLE - && GET_MODE (op) == VOIDmode)) + if (CONST_INT_P (op) || CONST_DOUBLE_AS_INT_P (op)) break; case 'i': if (CONSTANT_P (op)) @@ -2602,9 +2596,7 @@ constrain_operands (int strict) break; case 'n': - if (CONST_INT_P (op) - || (GET_CODE (op) == CONST_DOUBLE - && GET_MODE (op) == VOIDmode)) + if (CONST_INT_P (op) || CONST_DOUBLE_AS_INT_P (op)) win = 1; break; |