aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-10-28 17:12:18 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-10-28 17:12:18 -0400
commit99d13c40244720f821c7a342748e314cac4c729b (patch)
tree742245f4517d510a0717015855836e533ce1a2c4 /gcc
parentf94bdcb60d54fd2f812afa85d1334500bf4f6f50 (diff)
downloadgcc-99d13c40244720f821c7a342748e314cac4c729b.zip
gcc-99d13c40244720f821c7a342748e314cac4c729b.tar.gz
gcc-99d13c40244720f821c7a342748e314cac4c729b.tar.bz2
(reload_outqi): Correctly handle scratch assignments for unaligned
case when ADDR is a REG. From-SVN: r8353
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 dc5e91e..df3b80e 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);
}