From 346424935e4288bbe4de8b454dad3c83cefeede6 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 4 Dec 2004 10:13:50 -0800 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/alpha/alpha.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06074e17ebe..2b45485607a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-04 Richard Henderson + + * 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 * gcse.c (gcse_main): Add a comment. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 125f01a6e41..26a1cd7513f 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; -- 2.30.2