diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-10-28 21:12:18 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-10-28 21:12:18 +0000 |
commit | cf562f8787346983f6cdb89a42bfc222b7456cd8 (patch) | |
tree | 742245f4517d510a0717015855836e533ce1a2c4 /gcc | |
parent | e06e9add2fd39fb4898773bfaf7c1059d579d282 (diff) | |
download | gcc-cf562f8787346983f6cdb89a42bfc222b7456cd8.tar.gz |
(reload_outqi): Correctly handle scratch assignments for unaligned
case when ADDR is a REG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8353 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/alpha/alpha.md | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index dc5e91e8b03..df3b80ec3bb 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -3247,13 +3247,14 @@ rtx addr = get_unaligned_address (operands[0]); rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2])); rtx scratch2 = gen_rtx (REG, DImode, REGNO (operands[2]) + 1); + rtx scratch3 = scratch1; rtx seq; if (GET_CODE (addr) == REG) scratch1 = addr; seq = gen_unaligned_storeqi (addr, operands[1], scratch1, - scratch2, scratch1); + scratch2, scratch3); alpha_set_memflags (seq, operands[0]); emit_insn (seq); } |