diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-28 17:12:18 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-28 17:12:18 -0400 |
commit | 99d13c40244720f821c7a342748e314cac4c729b (patch) | |
tree | 742245f4517d510a0717015855836e533ce1a2c4 /gcc | |
parent | f94bdcb60d54fd2f812afa85d1334500bf4f6f50 (diff) | |
download | gcc-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.md | 3 |
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); } |