* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
From-SVN: r121493
This commit is contained in:
parent
114e4d106d
commit
9a5a8e58d2
2 changed files with 8 additions and 3 deletions
|
@ -1,3 +1,7 @@
|
|||
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>
|
||||
|
||||
* pa.md (tp_load): Correct mfctl instruction syntax.
|
||||
|
|
|
@ -807,19 +807,20 @@ resolve_clobber (rtx pat, rtx insn)
|
|||
unsigned int words, i;
|
||||
|
||||
reg = XEXP (pat, 0);
|
||||
if (!resolve_reg_p (reg))
|
||||
if (!resolve_reg_p (reg) && !resolve_subreg_p (reg))
|
||||
return false;
|
||||
|
||||
orig_mode = GET_MODE (reg);
|
||||
words = GET_MODE_SIZE (orig_mode);
|
||||
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)
|
||||
{
|
||||
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);
|
||||
emit_insn_after (x, insn);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue