From 7c53a140d9542cb965915ad1d1bb75cd8ce244f5 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 21 Jul 2011 15:03:02 +0200 Subject: [PATCH] i386.c (ix86_decompose_address): Reject all but register operands and DImode hard registers in index. * config/i386/i386.c (ix86_decompose_address): Reject all but register operands and DImode hard registers in index. From-SVN: r176565 --- gcc/ChangeLog | 18 ++++++++++-------- gcc/config/i386/i386.c | 4 +++- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44f962adee0..a1aa3eb9299 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,18 +1,20 @@ +2011-07-21 Uros Bizjak + + * config/i386/i386.c (ix86_decompose_address): Reject all but + register operands and DImode hard registers in index. + 2011-07-21 Kai Tietz * fold-const.c (fold_unary_loc): Preserve indirect comparison cast to none-boolean type. * tree-ssa.c (useless_type_conversion_p): Preserve cast from/to boolean-type. - * gimplify.c (gimple_boolify): Handle boolification - of comparisons. - (gimplify_expr): Boolifiy non aggregate-typed - comparisons. + * gimplify.c (gimple_boolify): Handle boolification of comparisons. + (gimplify_expr): Boolifiy non aggregate-typed comparisons. * tree-cfg.c (verify_gimple_comparison): Check result type of comparison expression. - * tree-ssa-forwprop.c (forward_propagate_comparison): - Adjust test of condition result and disallow type-cast - sinking into comparison. + * tree-ssa-forwprop.c (forward_propagate_comparison): Adjust test + of condition result and disallow type-cast sinking into comparison. 2011-07-21 Richard Guenther @@ -31,7 +33,7 @@ in last to first, or first to last order. 2011-07-21 Georg-Johann Lay - + * config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0. 2011-07-20 H.J. Lu diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 403f3127b1e..da6c888ed46 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -11203,7 +11203,9 @@ ix86_decompose_address (rtx addr, struct ix86_address *out) ; /* Allow only subregs of DImode hard regs. */ else if (GET_CODE (index) == SUBREG - && !register_no_elim_operand (SUBREG_REG (index), DImode)) + && register_no_elim_operand (SUBREG_REG (index), DImode)) + ; + else return 0; } -- 2.30.2