diff options
| author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-02 07:20:35 +0000 |
|---|---|---|
| committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-02 07:20:35 +0000 |
| commit | 2289a5f2f2a2ed725781661b40fc1ec00e23e856 (patch) | |
| tree | c5ba4d2994df25c58beaeb661841d16fc131f8da | |
| parent | 1f6d2cc00fc2355542c4fbddf4ce2e4eb4c98d64 (diff) | |
| download | ppe42-gcc-2289a5f2f2a2ed725781661b40fc1ec00e23e856.tar.gz ppe42-gcc-2289a5f2f2a2ed725781661b40fc1ec00e23e856.zip | |
* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121493 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/lower-subreg.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25d957a478a..46bfb56d7ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index ce9cfc54ab5..104a1d98a48 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -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); } |

