summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 f4721ce5fa4..638c11d5f47 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 d1264c68fd6..d4e88c7d64b 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:
OpenPOWER on IntegriCloud