Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 0c605d826dd1f80fa4db3dec59fed95477c350c2..2bf1942d025284a003d202f8ca15915be0d6fe56 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -935,6 +935,18 @@ void MacroAssembler::PopCallerSaved(SaveFPRegsMode fp_mode, |
} |
+void MacroAssembler::Cvtlsi2sd(XMMRegister dst, Register src) { |
+ xorps(dst, dst); |
+ cvtlsi2sd(dst, src); |
+} |
+ |
+ |
+void MacroAssembler::Cvtlsi2sd(XMMRegister dst, const Operand& src) { |
+ xorps(dst, dst); |
+ cvtlsi2sd(dst, src); |
+} |
+ |
+ |
void MacroAssembler::Set(Register dst, int64_t x) { |
if (x == 0) { |
xorl(dst, dst); |
@@ -2916,7 +2928,7 @@ void MacroAssembler::StoreNumberToDoubleElements( |
// Value is a smi. convert to a double and store. |
// Preserve original value. |
SmiToInteger32(kScratchRegister, maybe_number); |
- cvtlsi2sd(xmm_scratch, kScratchRegister); |
+ Cvtlsi2sd(xmm_scratch, kScratchRegister); |
movsd(FieldOperand(elements, index, times_8, |
FixedDoubleArray::kHeaderSize - elements_offset), |
xmm_scratch); |