Index: src/compiler/mips64/code-generator-mips64.cc |
diff --git a/src/compiler/mips64/code-generator-mips64.cc b/src/compiler/mips64/code-generator-mips64.cc |
index 190001228c091c620fd501dc63800ff9745efeb3..1746afe2fa9996227679b73ce0a33e0fcc02d80f 100644 |
--- a/src/compiler/mips64/code-generator-mips64.cc |
+++ b/src/compiler/mips64/code-generator-mips64.cc |
@@ -685,6 +685,21 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ Trunc_uw_d(i.InputDoubleRegister(0), i.OutputRegister(), scratch); |
break; |
} |
+ case kMips64FmoveLowUwD: |
+ __ FmoveLow(i.OutputRegister(), i.InputDoubleRegister(0)); |
+ // remove sign. |
+ __ dsll32(i.OutputRegister(), i.OutputRegister(), 0); |
+ __ dsrl32(i.OutputRegister(), i.OutputRegister(), 0); |
+ break; |
+ case kMips64FmoveLowDUw: |
+ __ FmoveLow(i.OutputDoubleRegister(), i.InputRegister(1)); |
+ break; |
+ case kMips64FmoveHighUwD: |
+ __ FmoveHigh(i.OutputRegister(), i.InputDoubleRegister(0)); |
+ break; |
+ case kMips64FmoveHighDUw: |
+ __ FmoveHigh(i.OutputDoubleRegister(), i.InputRegister(1)); |
+ break; |
// ... more basic instructions ... |
case kMips64Lbu: |