| Index: src/mips/lithium-mips.cc
|
| diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc
|
| index 19892fccc45f01d24a1a9457217a0f72ef0dca7b..d824deea91935d53cff97a8967f15e6747a176cb 100644
|
| --- a/src/mips/lithium-mips.cc
|
| +++ b/src/mips/lithium-mips.cc
|
| @@ -1152,6 +1152,13 @@ LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) {
|
| LOperand* input = UseFixedDouble(instr->value(), f4);
|
| LUnaryMathOperation* result = new LUnaryMathOperation(input, NULL);
|
| return MarkAsCall(DefineFixedDouble(result, f4), instr);
|
| + } else if (op == kMathPowHalf) {
|
| + // Input cannot be the same as the result.
|
| + // See lithium-codegen-mips.cc::DoMathPowHalf.
|
| + LOperand* input = UseFixedDouble(instr->value(), f8);
|
| + LOperand* temp = FixedTemp(f6);
|
| + LUnaryMathOperation* result = new LUnaryMathOperation(input, temp);
|
| + return DefineFixedDouble(result, f4);
|
| } else {
|
| LOperand* input = UseRegisterAtStart(instr->value());
|
| LOperand* temp = (op == kMathFloor) ? TempRegister() : NULL;
|
| @@ -1165,8 +1172,6 @@ LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) {
|
| return DefineAsRegister(result);
|
| case kMathRound:
|
| return AssignEnvironment(DefineAsRegister(result));
|
| - case kMathPowHalf:
|
| - return DefineAsRegister(result);
|
| default:
|
| UNREACHABLE();
|
| return NULL;
|
|
|