aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-08-27 22:54:40 +0000
committerRichard Stallman <rms@gnu.org>1992-08-27 22:54:40 +0000
commit1ba1e2a808424f54d31f4793eb00f36c5b085616 (patch)
tree6f2392f292fc97e654998d963154e501f3f6d38e
parent0e9414fd5cf67135f854c3481bf22357ba1616c8 (diff)
downloadgcc-1ba1e2a808424f54d31f4793eb00f36c5b085616.zip
gcc-1ba1e2a808424f54d31f4793eb00f36c5b085616.tar.gz
gcc-1ba1e2a808424f54d31f4793eb00f36c5b085616.tar.bz2
(emit_block_move): When trying movstrMM, cvt size to mode MM.
From-SVN: r1975
-rw-r--r--gcc/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 7a43aca..55bbd80 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1199,10 +1199,11 @@ emit_block_move (x, y, size, align)
|| (*insn_operand_predicate[(int) code][3]) (opalign,
VOIDmode)))
{
- rtx op2 = size;
+ rtx op2;
rtx last = get_last_insn ();
rtx pat;
+ op2 = convert_to_mode (mode, size, 1);
if (insn_operand_predicate[(int) code][2] != 0
&& ! (*insn_operand_predicate[(int) code][2]) (op2, mode))
op2 = copy_to_mode_reg (mode, op2);