From: Vladimir Makarov Date: Fri, 6 Jun 2014 17:22:34 +0000 (+0000) Subject: re PR rtl-optimization/61325 (aarch64_be build fails) X-Git-Tag: releases/gcc-5.1.0~7035 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5a770e0137b2dbfcf87978b6ec949114449ad1a9;p=thirdparty%2Fgcc.git re PR rtl-optimization/61325 (aarch64_be build fails) 2014-06-06 Vladimir Makarov PR rtl-optimization/61325 * lra-constraints.c (process_address_1): Check scale equal to one to prevent transformation: base + scale * index => base + new_reg. From-SVN: r211320 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 19aeddc91904..40845337c02c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-06-06 Vladimir Makarov + + PR rtl-optimization/61325 + * lra-constraints.c (process_address_1): Check scale equal to one + to prevent transformation: base + scale * index => base + new_reg. + 2014-06-06 Richard Biener PR tree-optimization/59299 diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index cafbc898c664..08716fe698a1 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -3033,6 +3033,13 @@ process_address_1 (int nop, rtx *before, rtx *after) *ad.inner = simplify_gen_binary (PLUS, GET_MODE (new_reg), new_reg, *ad.index); } + else if (get_index_scale (&ad) == 1) + { + /* The last transformation to one reg will be made in + curr_insn_transform function. */ + end_sequence (); + return false; + } else { /* base + scale * index => base + new_reg,