| Index: src/compiler/mips/code-generator-mips.cc
 | 
| diff --git a/src/compiler/mips/code-generator-mips.cc b/src/compiler/mips/code-generator-mips.cc
 | 
| index 9401e20556bc927d858705f3b77fb9beab80096e..83b7081c8dbe63f487e3160b22f9f7dd850a95d7 100644
 | 
| --- a/src/compiler/mips/code-generator-mips.cc
 | 
| +++ b/src/compiler/mips/code-generator-mips.cc
 | 
| @@ -485,6 +485,18 @@ FPUCondition FlagsConditionToConditionCmpFPU(bool& predicate,
 | 
|      __ sync();                                           \
 | 
|    } while (0)
 | 
|  
 | 
| +#define ASSEMBLE_IEEE754_BINOP(name)                                          \
 | 
| +  do {                                                                        \
 | 
| +    FrameScope scope(masm(), StackFrame::MANUAL);                             \
 | 
| +    __ PrepareCallCFunction(0, 2, kScratchReg);                               \
 | 
| +    __ MovToFloatParameters(i.InputDoubleRegister(0),                         \
 | 
| +                            i.InputDoubleRegister(1));                        \
 | 
| +    __ CallCFunction(ExternalReference::ieee754_##name##_function(isolate()), \
 | 
| +                     0, 2);                                                   \
 | 
| +    /* Move the result in the double result register. */                      \
 | 
| +    __ MovFromFloatResult(i.OutputDoubleRegister());                          \
 | 
| +  } while (0)
 | 
| +
 | 
|  #define ASSEMBLE_IEEE754_UNOP(name)                                           \
 | 
|    do {                                                                        \
 | 
|      FrameScope scope(masm(), StackFrame::MANUAL);                             \
 | 
| @@ -729,6 +741,12 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
 | 
|                Operand(offset.offset()));
 | 
|        break;
 | 
|      }
 | 
| +    case kIeee754Float64Atan:
 | 
| +      ASSEMBLE_IEEE754_UNOP(atan);
 | 
| +      break;
 | 
| +    case kIeee754Float64Atan2:
 | 
| +      ASSEMBLE_IEEE754_BINOP(atan2);
 | 
| +      break;
 | 
|      case kIeee754Float64Log:
 | 
|        ASSEMBLE_IEEE754_UNOP(log);
 | 
|        break;
 | 
| 
 |