summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-10-28 21:12:18 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-10-28 21:12:18 +0000
commitcf562f8787346983f6cdb89a42bfc222b7456cd8 (patch)
tree742245f4517d510a0717015855836e533ce1a2c4 /gcc
parente06e9add2fd39fb4898773bfaf7c1059d579d282 (diff)
downloadgcc-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.md3
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);
}