| 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 dcd85737da73f60f8c5b2c816909ccaeb51715cb..9b8b823be33beb2d5f76a603c40436a2251e0671 100644
|
| --- a/src/compiler/x87/code-generator-x87.cc
|
| +++ b/src/compiler/x87/code-generator-x87.cc
|
| @@ -1179,6 +1179,16 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
| __ lea(esp, Operand(esp, kFloatSize));
|
| break;
|
| }
|
| + case kX87Float32Neg: {
|
| + if (FLAG_debug_code && FLAG_enable_slow_asserts) {
|
| + __ VerifyX87StackDepth(1);
|
| + }
|
| + __ fstp(0);
|
| + __ fld_s(MemOperand(esp, 0));
|
| + __ fchs();
|
| + __ lea(esp, Operand(esp, kFloatSize));
|
| + break;
|
| + }
|
| case kX87Float32Round: {
|
| RoundingMode mode =
|
| static_cast<RoundingMode>(MiscField::decode(instr->opcode()));
|
| @@ -1353,6 +1363,16 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
| __ lea(esp, Operand(esp, kDoubleSize));
|
| break;
|
| }
|
| + case kX87Float64Neg: {
|
| + if (FLAG_debug_code && FLAG_enable_slow_asserts) {
|
| + __ VerifyX87StackDepth(1);
|
| + }
|
| + __ fstp(0);
|
| + __ fld_d(MemOperand(esp, 0));
|
| + __ fchs();
|
| + __ lea(esp, Operand(esp, kDoubleSize));
|
| + break;
|
| + }
|
| case kX87Int32ToFloat32: {
|
| InstructionOperand* input = instr->InputAt(0);
|
| DCHECK(input->IsRegister() || input->IsStackSlot());
|
|
|