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 239de312da27ecdac38bed6b8a2a95efb98357a6..d96b66ff63893395d1c70341a83f4e4f996065db 100644 |
--- a/src/compiler/mips/code-generator-mips.cc |
+++ b/src/compiler/mips/code-generator-mips.cc |
@@ -939,6 +939,24 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ Cvt_d_uw(i.OutputDoubleRegister(), i.InputRegister(0), scratch); |
break; |
} |
+ case kMipsFloorWD: { |
+ FPURegister scratch = kScratchDoubleReg; |
+ __ floor_w_d(scratch, i.InputDoubleRegister(0)); |
+ __ mfc1(i.OutputRegister(), scratch); |
+ break; |
+ } |
+ case kMipsCeilWD: { |
+ FPURegister scratch = kScratchDoubleReg; |
+ __ ceil_w_d(scratch, i.InputDoubleRegister(0)); |
+ __ mfc1(i.OutputRegister(), scratch); |
+ break; |
+ } |
+ case kMipsRoundWD: { |
+ FPURegister scratch = kScratchDoubleReg; |
+ __ round_w_d(scratch, i.InputDoubleRegister(0)); |
+ __ mfc1(i.OutputRegister(), scratch); |
+ break; |
+ } |
case kMipsTruncWD: { |
FPURegister scratch = kScratchDoubleReg; |
// Other arches use round to zero here, so we follow. |