diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2016-05-24 17:42:17 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2016-05-24 17:42:17 +0200 |
commit | 4b63ff589443463a8ad12d3ad814867dc1d51fb7 (patch) | |
tree | e2bdbb1ca57f286d157b90c7ce41f9284e7ae8aa /gcc | |
parent | b556ea3b4653c99c2c8b5ecce5565f1b4963078b (diff) | |
download | gcc-4b63ff589443463a8ad12d3ad814867dc1d51fb7.zip gcc-4b63ff589443463a8ad12d3ad814867dc1d51fb7.tar.gz gcc-4b63ff589443463a8ad12d3ad814867dc1d51fb7.tar.bz2 |
i386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
* config/i386/i386.c (ix86_preferred_reload_class): Use
IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
From-SVN: r236645
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 9 |
2 files changed, 14 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45313ab..0ca7e79 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -124,8 +124,8 @@ 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71252 - * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert after - build_and_add_sum creates new use stmt. + * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert + after build_and_add_sum creates new use stmt. 2016-05-24 Richard Sandiford <richard.sandiford@arm.com> @@ -157,7 +157,8 @@ (add_to_ops_vec): Add stmt_to_insert. (add_repeat_to_ops_vec): Init stmt_to_insert. (insert_stmt_before_use): New. - (transform_add_to_multiply): Remove mult_stmt insertion and add it to ops vector. + (transform_add_to_multiply): Remove mult_stmt insertion and add it + to ops vector. (get_ops): Init stmt_to_insert. (maybe_optimize_range_tests): Likewise. (rewrite_expr_tree): Insert stmt_to_insert before use stmt. @@ -190,8 +191,8 @@ TARGET_MIX_SSE_I387. Rewrite using X87_FLOAT_MODE_P and SSE_FLOAT_MODE_P macros. * config/i386/i386.c (ix86_preferred_reload_class): Use - IS_STACK_MODE, INTEGER_CLASS_P and FLOAT_CLASS_P macros. Cleanup - regclass processing for CONST_DOUBLE_P. + IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros. + Cleanup regclass processing for CONST_DOUBLE_P. (ix86_preferred_output_reload_class): Use IS_STACK_MODE macro. (ix86_rtx_costs): Remove redundant TARGET_80387 check with IS_STACK_MODE macro. @@ -278,9 +279,9 @@ 2016-05-22 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/40921 - * tree-ssa-reassoc.c (try_special_add_to_ops): New. - (linearize_expr_tree): Call try_special_add_to_ops. - (reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR. + * tree-ssa-reassoc.c (try_special_add_to_ops): New. + (linearize_expr_tree): Call try_special_add_to_ops. + (reassociate_bb): Convert MULT_EXPR by (-1) to NEGATE_EXPR. 2016-05-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index c474bb5..51364f3 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -43334,17 +43334,18 @@ ix86_preferred_reload_class (rtx x, reg_class_t regclass) (plus soft-fp const_int). Which can only be computed into general regs. */ if (GET_CODE (x) == PLUS) - return reg_class_subset_p (regclass, GENERAL_REGS) ? regclass : NO_REGS; + return INTEGER_CLASS_P (regclass) ? regclass : NO_REGS; /* QImode constants are easy to load, but non-constant QImode data must go into Q_REGS. */ if (GET_MODE (x) == QImode && !CONSTANT_P (x)) { - if (reg_class_subset_p (regclass, Q_REGS)) + if (Q_CLASS_P (regclass)) return regclass; - if (reg_class_subset_p (Q_REGS, regclass)) + else if (reg_class_subset_p (Q_REGS, regclass)) return Q_REGS; - return NO_REGS; + else + return NO_REGS; } return regclass; |