Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index d67e58e660e8679a320957f9efdc522310632de4..116cb05655305f933a825a140a9ff76fa952fbdd 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -3526,6 +3526,15 @@ void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) { |
} |
+void MacroAssembler::GetFromCDoubleArguments(const DoubleRegister dst) { |
+ if (IsMipsSoftFloatABI) { |
+ Move(dst, a0, a1); |
+ } else { |
+ Move(dst, f12); // Reg f12 is o32 ABI FP first argument value. |
+ } |
+} |
+ |
+ |
void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) { |
if (!IsMipsSoftFloatABI) { |
Move(f12, dreg); |
@@ -3535,6 +3544,15 @@ void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) { |
} |
+void MacroAssembler::SetForCDoubleResult(DoubleRegister dreg) { |
+ if (!IsMipsSoftFloatABI) { |
+ Move(f0, dreg); |
+ } else { |
+ Move(v0, v1, dreg); |
+ } |
+} |
+ |
+ |
void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1, |
DoubleRegister dreg2) { |
if (!IsMipsSoftFloatABI) { |