Commit 60aeab7f by H.J. Lu Committed by Jeff Law

i386.c (output_to_reg): Add code to emulate non-popping DImode case.

�
        * i386.c (output_to_reg): Add code to emulate non-popping DImode
        case.

From-SVN: r21389
parent bc6bd744
Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org)
* i386.c (output_to_reg): Add code to emulate non-popping DImode
case.
Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com)
* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
......
......@@ -891,6 +891,17 @@ output_to_reg (dest, dies, scratch_mem)
{
if (dies)
output_asm_insn (AS1 (fistp%z3,%y0), xops);
else if (GET_MODE (xops[3]) == DImode && ! dies)
{
/* There is no DImode version of this without a stack pop, so
we must emulate it. It doesn't matter much what the second
instruction is, because the value being pushed on the FP stack
is not used except for the following stack popping store.
This case can only happen without optimization, so it doesn't
matter that it is inefficient. */
output_asm_insn (AS1 (fistp%z3,%0), xops);
output_asm_insn (AS1 (fild%z3,%0), xops);
}
else
output_asm_insn (AS1 (fist%z3,%y0), xops);
}
......
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