From: Walter Lee Date: Wed, 27 Mar 2013 06:18:49 +0000 (+0000) Subject: tilegx.c (tilegx_expand_prologue): Avoid double-decrement of next_scratch_regno. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a514f47b835740bc283e61541883a2793d4af1f;p=gcc.git tilegx.c (tilegx_expand_prologue): Avoid double-decrement of next_scratch_regno. * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid double-decrement of next_scratch_regno. From-SVN: r197139 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 919d3d720ab..519cce0de82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-03-27 Walter Lee + + * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid + double-decrement of next_scratch_regno. + 2013-03-27 Walter Lee * config/tilegx/tilegx.md (insn_v1mulu): Fix constraints on diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c index 9f2aad5eb38..beb1012cf2c 100644 --- a/gcc/config/tilegx/tilegx.c +++ b/gcc/config/tilegx/tilegx.c @@ -3999,11 +3999,10 @@ tilegx_expand_prologue (void) if (r == NULL_RTX) { - rtx p = compute_frame_addr (offset, &next_scratch_regno); - r = gen_rtx_REG (Pmode, next_scratch_regno--); - reg_save_addr[which_scratch] = r; - - emit_insn (gen_rtx_SET (VOIDmode, r, p)); + int prev_scratch_regno = next_scratch_regno; + r = compute_frame_addr (offset, &next_scratch_regno); + if (prev_scratch_regno != next_scratch_regno) + reg_save_addr[which_scratch] = r; } else {