aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2003-09-24 19:32:46 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2003-09-24 15:32:46 -0400
commite876481c94624c600dd1dca667636ca83ba80aa9 (patch)
tree5773791ed5bfd5bb0d62db4451b35622bf700bde
parenteb9ec0d45db94e95fc5f0302100c7918c1e54f7b (diff)
downloadgcc-e876481c94624c600dd1dca667636ca83ba80aa9.zip
gcc-e876481c94624c600dd1dca667636ca83ba80aa9.tar.gz
gcc-e876481c94624c600dd1dca667636ca83ba80aa9.tar.bz2
rs6000.md (movti_power): Collapse case 1 and 2 together.
* config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2 together. Protect load string instruction with TARGET_STRING. (movti_string): Collapse case 1 and 2 together. From-SVN: r71736
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.md5
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f4721ce..638c11d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-24 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
+ together. Protect load string instruction with TARGET_STRING.
+ (movti_string): Collapse case 1 and 2 together.
+
2003-09-24 Nathan Sidwell <nathan@codesourcery.com>
* c-common.c (c_common_type_for_mode): Check for VOIDmode.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index d1264c6..d4e88c7 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8697,13 +8697,13 @@
if (TARGET_STRING)
return \"{stsi|stswi} %1,%P0,16\";
case 1:
- return \"#\";
case 2:
return \"#\";
case 3:
/* If the address is not used in the output, we can use lsi. Otherwise,
fall through to generating four loads. */
- if (! reg_overlap_mentioned_p (operands[0], operands[1]))
+ if (TARGET_STRING
+ && ! reg_overlap_mentioned_p (operands[0], operands[1]))
return \"{lsi|lswi} %0,%P1,16\";
/* ... fall through ... */
case 4:
@@ -8727,7 +8727,6 @@
if (TARGET_STRING)
return \"{stsi|stswi} %1,%P0,16\";
case 1:
- return \"#\";
case 2:
return \"#\";
case 3: