summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-27 15:44:26 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-27 15:44:26 +0000
commit4f330f9b87ea73a85ab24f4815149c00da3bcfaf (patch)
tree09d930e41bb6768cf71d031b92a49802def3a753
parentb2266391e5763f27c76aae7f9201e4a3ecb7fc54 (diff)
downloadppe42-gcc-4f330f9b87ea73a85ab24f4815149c00da3bcfaf.tar.gz
ppe42-gcc-4f330f9b87ea73a85ab24f4815149c00da3bcfaf.zip
PR target/23539
* config/rs6000/rs6000.c (expand_block_clear): Use HImode when bytes >= 2 not bytes == 2. (expand_block_move): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103564 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c8123f27dc2..d37b25e7e30 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-27 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/23539
+ * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
+ bytes >= 2 not bytes == 2.
+ (expand_block_move): Same.
+
2005-08-27 Richard Guenther <rguenther@suse.de>
PR target/23575
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index edb3d84c522..2ec59fac883 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -9133,7 +9133,7 @@ expand_block_clear (rtx operands[])
clear_bytes = 4;
mode = SImode;
}
- else if (bytes == 2 && (align >= 16 || !STRICT_ALIGNMENT))
+ else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
{ /* move 2 bytes */
clear_bytes = 2;
mode = HImode;
@@ -9269,7 +9269,7 @@ expand_block_move (rtx operands[])
mode = SImode;
gen_func.mov = gen_movsi;
}
- else if (bytes == 2 && (align >= 16 || !STRICT_ALIGNMENT))
+ else if (bytes >= 2 && (align >= 16 || !STRICT_ALIGNMENT))
{ /* move 2 bytes */
move_bytes = 2;
mode = HImode;
OpenPOWER on IntegriCloud