Commit 2e245dac by Jeffrey A Law Committed by Jeff Law

expr.c (move_by_pieces): No longer static.

        * expr.c (move_by_pieces): No longer static.  Remove prototype.
        * rtl.h (move_by_pieces): Add extern prototype.
        * mips.c (expand_block_move): Handle aligned straight line copy by
        calling move_by_pieces.

From-SVN: r21794
parent 9f2b61e4
Mon Aug 17 11:46:19 1998 Jeffrey A Law (law@cygnus.com)
* expr.c (move_by_pieces): No longer static. Remove prototype.
* rtl.h (move_by_pieces): Add extern prototype.
* mips.c (expand_block_move): Handle aligned straight line copy by
calling move_by_pieces.
* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
and VAR_DECLs.
......
......@@ -3113,6 +3113,10 @@ expand_block_move (operands)
if (TARGET_MEMCPY)
block_move_call (dest_reg, src_reg, bytes_rtx);
else if (constp && bytes <= 2 * MAX_MOVE_BYTES
&& align == UNITS_PER_WORD)
move_by_pieces (orig_dest, orig_src, bytes, align);
else if (constp && bytes <= 2 * MAX_MOVE_BYTES)
emit_insn (gen_movstrsi_internal (change_address (orig_dest, BLKmode,
dest_reg),
......
......@@ -156,7 +156,6 @@ static rtx get_push_address PROTO ((int));
static rtx enqueue_insn PROTO((rtx, rtx));
static int queued_subexp_p PROTO((rtx));
static void init_queue PROTO((void));
static void move_by_pieces PROTO((rtx, rtx, int, int));
static int move_by_pieces_ninsns PROTO((unsigned int, int));
static void move_by_pieces_1 PROTO((rtx (*) (rtx, ...), enum machine_mode,
struct move_by_pieces *));
......@@ -1394,7 +1393,7 @@ convert_modes (mode, oldmode, x, unsignedp)
through protect_from_queue before calling.
ALIGN (in bytes) is maximum alignment we can assume. */
static void
void
move_by_pieces (to, from, len, align)
rtx to, from;
int len, align;
......
......@@ -1403,6 +1403,8 @@ extern int preserve_subexpressions_p PROTO ((void));
/* In expr.c */
extern void init_expr_once PROTO ((void));
extern void move_by_pieces PROTO ((rtx, rtx, int, int));
/* In stupid.c */
#ifdef BUFSIZ
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment