The recent changes to the move_by_pieces API were slightly incomplete.
They failed to update the mips and microblaze ports (there may be
others, that's what has complained so far).

This patch fixes the microblaze port.  I've verified we can build it
through libgcc.  The tester will run a more complete build later today.

Committed to the trunk.  I'll be fixing the MIPS port momentarily.

Jeff
        * config/microblaze/microblaze.c (microblaze_block_move_straight): Use
        RETURN_BEGIN in call to move_by_pieces.
        (microblaze_expand_block_move): Likewise.

diff --git a/gcc/config/microblaze/microblaze.c 
b/gcc/config/microblaze/microblaze.c
index 06aa50e2556..6c4a62c3113 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -1180,7 +1180,7 @@ microblaze_block_move_straight (rtx dest, rtx src, 
HOST_WIDE_INT length)
       src = adjust_address (src, BLKmode, offset);
       dest = adjust_address (dest, BLKmode, offset);
       move_by_pieces (dest, src, length - offset,
-                     MIN (MEM_ALIGN (src), MEM_ALIGN (dest)), 0);
+                     MIN (MEM_ALIGN (src), MEM_ALIGN (dest)), RETURN_BEGIN);
     }
 }
 
@@ -1269,7 +1269,7 @@ microblaze_expand_block_move (rtx dest, rtx src, rtx 
length, rtx align_rtx)
        {
          if (INTVAL (length) <= MAX_MOVE_BYTES)
            {
-             move_by_pieces (dest, src, bytes, align, 0);
+             move_by_pieces (dest, src, bytes, align, RETURN_BEGIN);
              return true;
            }
          else

Reply via email to