Commit 9a5a8e58 by Ian Lance Taylor Committed by Ian Lance Taylor

* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.

From-SVN: r121493
parent 114e4d10
2007-02-01 Ian Lance Taylor <iant@google.com>
* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
2007-02-01 Guy Martin <gmsoft@gentoo.org> 2007-02-01 Guy Martin <gmsoft@gentoo.org>
* pa.md (tp_load): Correct mfctl instruction syntax. * pa.md (tp_load): Correct mfctl instruction syntax.
......
...@@ -807,19 +807,20 @@ resolve_clobber (rtx pat, rtx insn) ...@@ -807,19 +807,20 @@ resolve_clobber (rtx pat, rtx insn)
unsigned int words, i; unsigned int words, i;
reg = XEXP (pat, 0); reg = XEXP (pat, 0);
if (!resolve_reg_p (reg)) if (!resolve_reg_p (reg) && !resolve_subreg_p (reg))
return false; return false;
orig_mode = GET_MODE (reg); orig_mode = GET_MODE (reg);
words = GET_MODE_SIZE (orig_mode); words = GET_MODE_SIZE (orig_mode);
words = (words + UNITS_PER_WORD - 1) / UNITS_PER_WORD; words = (words + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
XEXP (pat, 0) = simplify_subreg_concatn (word_mode, reg, 0); XEXP (pat, 0) = simplify_gen_subreg_concatn (word_mode, reg, orig_mode, 0);
for (i = words - 1; i > 0; --i) for (i = words - 1; i > 0; --i)
{ {
rtx x; rtx x;
x = simplify_subreg_concatn (word_mode, reg, i * UNITS_PER_WORD); x = simplify_gen_subreg_concatn (word_mode, reg, orig_mode,
i * UNITS_PER_WORD);
x = gen_rtx_CLOBBER (VOIDmode, x); x = gen_rtx_CLOBBER (VOIDmode, x);
emit_insn_after (x, insn); emit_insn_after (x, insn);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment