| Index: src/compiler/x87/code-generator-x87.cc
|
| diff --git a/src/compiler/x87/code-generator-x87.cc b/src/compiler/x87/code-generator-x87.cc
|
| index ba610eea3de89c0d86a29e4d0802de40db4afdee..5bff2c5d59dadd5638b31b84d31ccf874891ab50 100644
|
| --- a/src/compiler/x87/code-generator-x87.cc
|
| +++ b/src/compiler/x87/code-generator-x87.cc
|
| @@ -1200,24 +1200,19 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| break;
|
| }
|
| case kX87BitcastFI: {
|
| - __ fstp(0);
|
| __ mov(i.OutputRegister(), MemOperand(esp, 0));
|
| __ lea(esp, Operand(esp, kFloatSize));
|
| break;
|
| }
|
| case kX87BitcastIF: {
|
| + __ fstp(0);
|
| if (instr->InputAt(0)->IsRegister()) {
|
| __ lea(esp, Operand(esp, -kFloatSize));
|
| __ mov(MemOperand(esp, 0), i.InputRegister(0));
|
| - __ fstp(0);
|
| __ fld_s(MemOperand(esp, 0));
|
| __ lea(esp, Operand(esp, kFloatSize));
|
| } else {
|
| - __ lea(esp, Operand(esp, -kDoubleSize));
|
| - __ mov(MemOperand(esp, 0), i.InputRegister(0));
|
| - __ fstp(0);
|
| - __ fld_d(MemOperand(esp, 0));
|
| - __ lea(esp, Operand(esp, kDoubleSize));
|
| + __ fld_s(i.InputOperand(0));
|
| }
|
| break;
|
| }
|
|
|