rs6000.md (movti_power): Collapse case 1 and 2 together.
authorDavid Edelsohn <edelsohn@gnu.org>
Wed, 24 Sep 2003 19:32:46 +0000 (19:32 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Wed, 24 Sep 2003 19:32:46 +0000 (15:32 -0400)
        * 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

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index f4721ce5fa46b949ad7e745f017d4b0082aa5651..638c11d5f47017e0a57b0e189bbda9994553a8e4 100644 (file)
@@ -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.
index d1264c68fd63e987892b323804ec8688efdef09d..d4e88c7d64b68fddb850516e3b1a5513b6a5ba9d 100644 (file)
       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:
       if (TARGET_STRING)
         return \"{stsi|stswi} %1,%P0,16\";
     case 1:
-      return \"#\";
     case 2:
       return \"#\";
     case 3: