From 9937da1a0c1aee623a0076efba7b55a4d7aa5158 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Thu, 11 Feb 1993 08:56:16 +0000 Subject: [PATCH] (expand_builtin): Move memory_address calls out of arglist of emit_block_move. From-SVN: r3460 --- gcc/expr.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index dfc978a828b..12fbe7634ba 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6419,7 +6419,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) = get_pointer_alignment (src, BIGGEST_ALIGNMENT) / BITS_PER_UNIT; int dest_align = get_pointer_alignment (dest, BIGGEST_ALIGNMENT) / BITS_PER_UNIT; - rtx dest_rtx; + rtx dest_rtx, dest_mem, src_mem; /* If either SRC or DEST is not a pointer type, don't do this operation in-line. */ @@ -6431,15 +6431,16 @@ expand_builtin (exp, target, subtarget, mode, ignore) } dest_rtx = expand_expr (dest, NULL_RTX, Pmode, EXPAND_NORMAL); + dest_mem = gen_rtx (MEM, BLKmode, + memory_address (BLKmode, dest_rtx)); + src_mem = gen_rtx (MEM, BLKmode, + memory_address (BLKmode, + expand_expr (src, NULL_RTX, + Pmode, + EXPAND_NORMAL))); /* Copy word part most expediently. */ - emit_block_move (gen_rtx (MEM, BLKmode, - memory_address (BLKmode, dest_rtx)), - gen_rtx (MEM, BLKmode, - memory_address (BLKmode, - expand_expr (src, NULL_RTX, - Pmode, - EXPAND_NORMAL))), + emit_block_move (dest_mem, src_mem, expand_expr (len, NULL_RTX, VOIDmode, 0), MIN (src_align, dest_align)); return dest_rtx; -- 2.30.2