Commit e7c2087c by Richard Stallman

(output_move_double): Extend the special case

for *--sp = sp[N] to handle 12 bytes as well as 8 bytes.

From-SVN: r5951
parent f55ef7b0
......@@ -444,12 +444,14 @@ output_move_double (operands)
}
/* If insn is effectively movd N (sp),-(sp) then we will do the
high word first. We should use the adjusted operand 1 (which is N+4 (sp))
for the low word as well, to compensate for the first decrement of sp. */
high word first. We should use the adjusted operand 1
(which is N+4 (sp) or N+8 (sp))
for the low word and middle word as well,
to compensate for the first decrement of sp. */
if (optype0 == PUSHOP
&& REGNO (XEXP (XEXP (operands[0], 0), 0)) == STACK_POINTER_REGNUM
&& reg_overlap_mentioned_p (stack_pointer_rtx, operands[1]))
operands[1] = latehalf[1];
middlehalf[1] = operands[1] = latehalf[1];
/* For (set (reg:DI N) (mem:DI ... (reg:SI N) ...)),
if the upper part of reg N does not appear in the MEM, arrange to
......
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