Index: src/ppc/macro-assembler-ppc.cc |
diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc |
index e11e102dbe2794fedd0c4bf84896c21ca04dd4a3..ca8ffabd2f5e77f1a7e3ed95c98c94e6ea30eec9 100644 |
--- a/src/ppc/macro-assembler-ppc.cc |
+++ b/src/ppc/macro-assembler-ppc.cc |
@@ -715,6 +715,22 @@ void MacroAssembler::ConvertDoubleToInt64(const DoubleRegister double_input, |
dst, double_dst); |
} |
+#if V8_TARGET_ARCH_PPC64 |
+void MacroAssembler::ConvertDoubleToUnsignedInt64( |
+ const DoubleRegister double_input, const Register dst, |
+ const DoubleRegister double_dst, FPRoundingMode rounding_mode) { |
+ if (rounding_mode == kRoundToZero) { |
+ fctiduz(double_dst, double_input); |
+ } else { |
+ SetRoundingMode(rounding_mode); |
+ fctidu(double_dst, double_input); |
+ ResetRoundingMode(); |
+ } |
+ |
+ MovDoubleToInt64(dst, double_dst); |
+} |
+#endif |
+ |
void MacroAssembler::LoadConstantPoolPointerRegisterFromCodeTargetAddress( |
Register code_target_address) { |