]> gcc.gnu.org Git - gcc.git/commitdiff
(expand_block_move): Don't do any block moves where we clobber fixed numbers of regis...
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 6 Jun 1995 01:49:58 +0000 (21:49 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 6 Jun 1995 01:49:58 +0000 (21:49 -0400)
(expand_block_move): Don't do any block moves where we clobber fixed
numbers of registers, instead move just 1-8 bytes at a time.

From-SVN: r9884

gcc/config/rs6000/rs6000.c

index 5ae1507d01c7158e7924d889782143be4b28fa13..2adff2abd3022b7cb2a7acfb54138b3a3e2526d5 100644 (file)
@@ -687,7 +687,7 @@ expand_block_move (operands)
      then don't generate more than 8 loads.  */
   if (TARGET_STRING)
     {
-      if (bytes > 64)
+      if (bytes > 4*8)
        return 0;
     }
   else if (!STRICT_ALIGNMENT)
@@ -706,6 +706,8 @@ expand_block_move (operands)
     {
       for ( ; bytes > 0; bytes -= move_bytes)
        {
+#if 0
+         /* XXX Don't move so many bytes right now, it causes the compiler to not bootstrap */
          if (bytes > 24                /* move up to 32 bytes at a time */
              && !fixed_regs[5]
              && !fixed_regs[6]
@@ -748,7 +750,9 @@ expand_block_move (operands)
                                            GEN_INT (move_bytes),
                                            align_rtx));
            }
-         else if (bytes > 4 && !TARGET_64BIT)
+         else
+#endif
+           if (bytes > 4 && !TARGET_64BIT)
            {                   /* move up to 8 bytes at a time */
              move_bytes = (bytes > 8) ? 8 : bytes;
              emit_insn (gen_movstrsi_2reg (dest_reg,
This page took 0.068734 seconds and 5 git commands to generate.