diff options
author | Richard Henderson <rth@redhat.com> | 2004-12-04 10:13:50 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-12-04 10:13:50 -0800 |
commit | 346424935e4288bbe4de8b454dad3c83cefeede6 (patch) | |
tree | 03056581479653e466bfeed6116819ebbaec80f6 | |
parent | 8138dfe456d828aeac384816f3378fb8636b34d9 (diff) | |
download | gcc-346424935e4288bbe4de8b454dad3c83cefeede6.zip gcc-346424935e4288bbe4de8b454dad3c83cefeede6.tar.gz gcc-346424935e4288bbe4de8b454dad3c83cefeede6.tar.bz2 |
alpha.c (alpha_expand_unaligned_load): Don't forget to use ofs in BWX two byte special case.
* config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
use ofs in BWX two byte special case.
(alpha_expand_unaligned_store): Likewise.
From-SVN: r91731
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06074e1..2b45485 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-04 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to + use ofs in BWX two byte special case. + (alpha_expand_unaligned_store): Likewise. + 2004-12-04 Kazu Hirata <kazu@cs.umass.edu> * gcse.c (gcse_main): Add a comment. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 125f01a6..26a1cd7 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -3166,8 +3166,8 @@ alpha_expand_unaligned_load (rtx tgt, rtx mem, HOST_WIDE_INT size, if (TARGET_BWX && size == 2) { - meml = adjust_address (mem, QImode, 0); - memh = adjust_address (mem, QImode, 1); + meml = adjust_address (mem, QImode, ofs); + memh = adjust_address (mem, QImode, ofs+1); if (BYTES_BIG_ENDIAN) tmp = meml, meml = memh, memh = tmp; extl = gen_reg_rtx (DImode); @@ -3328,8 +3328,8 @@ alpha_expand_unaligned_store (rtx dst, rtx src, else dstl = dsth = const0_rtx; - meml = adjust_address (dst, QImode, 0); - memh = adjust_address (dst, QImode, 1); + meml = adjust_address (dst, QImode, ofs); + memh = adjust_address (dst, QImode, ofs+1); if (BYTES_BIG_ENDIAN) addr = meml, meml = memh, memh = addr; |