From: Richard Stallman Date: Sun, 11 Jul 1993 22:22:44 +0000 (+0000) Subject: (output_move_double): Do the low reg first, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb4107092f20307954da832ceec7842d0e77d3b3;p=gcc.git (output_move_double): Do the low reg first, when only the high reg has an overlap. From-SVN: r4904 --- diff --git a/gcc/config/ns32k/ns32k.c b/gcc/config/ns32k/ns32k.c index 6dd4a968869..2235d445292 100644 --- a/gcc/config/ns32k/ns32k.c +++ b/gcc/config/ns32k/ns32k.c @@ -345,10 +345,13 @@ output_move_double (operands) operands[1] = gen_rtx (MEM, DImode, op0); latehalf[1] = adj_offsettable_operand (operands[1], 4); } - /* Do the late half first. */ - output_asm_insn (singlemove_string (latehalf), latehalf); - /* Then clobber. */ - return singlemove_string (operands); + if (reg_mentioned_p (op0, XEXP (op1, 0))) + { + /* The first half has the overlap, Do the late half first. */ + output_asm_insn (singlemove_string (latehalf), latehalf); + /* Then clobber. */ + return singlemove_string (operands); + } } /* Normal case. Do the two words, low-numbered first. */