alpha.c (alpha_expand_unaligned_load): Don't forget to use ofs in BWX two byte specia...
authorRichard Henderson <rth@redhat.com>
Sat, 4 Dec 2004 18:13:50 +0000 (10:13 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 4 Dec 2004 18:13:50 +0000 (10:13 -0800)
        * 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
gcc/config/alpha/alpha.c

index 06074e17ebe05c3793360c26ea82508750f971c0..2b45485607a05340ce009b38302e8826681967c2 100644 (file)
@@ -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.
index 125f01a6e41d3cd5a58cd584df2b957f3ccce8f1..26a1cd7513f1aa8d047b51d991a3d95661b0fad0 100644 (file)
@@ -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;