]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/23539 (C & C++ compiler generating misaligned references regardless...
authorDavid Edelsohn <edelsohn@gnu.org>
Wed, 31 Aug 2005 14:28:38 +0000 (14:28 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Wed, 31 Aug 2005 14:28:38 +0000 (10:28 -0400)
        PR target/23539
        Backport from mainline:

        2005-08-27  David Edelsohn  <edelsohn@gnu.org>
        * config/rs6000/rs6000.c (expand_block_move): Use HImode when
        bytes >= 2 not bytes == 2.

From-SVN: r103675

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 1420fbb53f52fb8662bf09f151e63e33eb92cb6a..a46e80e1a07a0dcbf77c66714820d76a00041c8f 100644 (file)
@@ -1,3 +1,12 @@
+2005-08-31  David Edelsohn  <edelsohn@gnu.org>
+
+        PR target/23539
+       Backport from mainline:
+
+       2005-08-27  David Edelsohn  <edelsohn@gnu.org>
+        * config/rs6000/rs6000.c (expand_block_move): Use HImode when
+        bytes >= 2 not bytes == 2.
+
 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
 
        * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
index 1ffd4da16796c78a95e635dc507dc90859480fe1..c914ac116ea233721c59154c2bd0617bdea6aa6b 100644 (file)
@@ -7856,7 +7856,7 @@ expand_block_move (rtx operands[])
          mode = SImode;
          gen_func.mov = gen_movsi;
        }
-      else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT))
+      else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT))
        {                       /* move 2 bytes */
          move_bytes = 2;
          mode = HImode;