Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index ef7eaaf39e8b1f16704073548b8410636b8c39d8..f62d393180beb3357b12c1b2aa8c73b3d7cc6790 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -815,6 +815,16 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
case kIA32Popcnt: |
__ Popcnt(i.OutputRegister(), i.InputOperand(0)); |
break; |
+ case kX87Float64Log: |
+ __ sub(esp, Immediate(kDoubleSize)); |
+ __ movsd(Operand(esp, 0), i.InputDoubleRegister(0)); |
+ __ fldln2(); |
+ __ fld_d(Operand(esp, 0)); |
+ __ fyl2x(); |
+ __ fstp_d(Operand(esp, 0)); |
+ __ movsd(i.OutputDoubleRegister(), Operand(esp, 0)); |
+ __ add(esp, Immediate(kDoubleSize)); |
+ break; |
case kSSEFloat32Cmp: |
__ ucomiss(i.InputDoubleRegister(0), i.InputOperand(1)); |
break; |