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 93fcf0f2f6084c59bd817cfa6bd7542b1d03cf2a..e862dc5a687413a825bd44699e9d82c0ef5dc1fd 100644 |
--- a/src/compiler/x87/code-generator-x87.cc |
+++ b/src/compiler/x87/code-generator-x87.cc |
@@ -898,6 +898,18 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
case kX87Popcnt: |
__ Popcnt(i.OutputRegister(), i.InputOperand(0)); |
break; |
+ case kX87Float64Log: |
+ if (FLAG_debug_code && FLAG_enable_slow_asserts) { |
+ __ VerifyX87StackDepth(1); |
+ } |
+ __ X87SetFPUCW(0x027F); |
+ __ fstp(0); |
+ __ fldln2(); |
+ __ fld_d(MemOperand(esp, 0)); |
+ __ fyl2x(); |
+ __ lea(esp, Operand(esp, kDoubleSize)); |
+ __ X87SetFPUCW(0x037F); |
+ break; |
case kX87LoadFloat64Constant: { |
InstructionOperand* source = instr->InputAt(0); |
InstructionOperand* destination = instr->Output(); |