From: David Edelsohn Date: Wed, 31 Aug 2005 14:28:38 +0000 (+0000) Subject: re PR target/23539 (C & C++ compiler generating misaligned references regardless... X-Git-Tag: releases/gcc-3.4.5~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=91f7219855644a82a94e6bf035db1b9adc3bb65b;p=thirdparty%2Fgcc.git re PR target/23539 (C & C++ compiler generating misaligned references regardless of compiler flags) PR target/23539 Backport from mainline: 2005-08-27 David Edelsohn * config/rs6000/rs6000.c (expand_block_move): Use HImode when bytes >= 2 not bytes == 2. From-SVN: r103675 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1420fbb53f52..a46e80e1a07a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2005-08-31 David Edelsohn + + PR target/23539 + Backport from mainline: + + 2005-08-27 David Edelsohn + * config/rs6000/rs6000.c (expand_block_move): Use HImode when + bytes >= 2 not bytes == 2. + 2005-08-21 Jakub Jelinek * simplify-rtx.c (simplify_immed_subreg) : Only clear diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 1ffd4da16796..c914ac116ea2 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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;