Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 48ad4c347e7d715f2bdf35b07e4777638738bed0..d10e45e68d717219089cc343fc1059447e83a4d8 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -863,6 +863,18 @@ void MacroAssembler::Cvtqsi2sd(XMMRegister dst, Register src) { |
} |
+void MacroAssembler::Cvtqsi2sd(XMMRegister dst, const Operand& src) { |
+ if (CpuFeatures::IsSupported(AVX)) { |
+ CpuFeatureScope scope(this, AVX); |
+ vxorpd(dst, dst, dst); |
+ vcvtqsi2sd(dst, dst, src); |
+ } else { |
+ xorpd(dst, dst); |
+ cvtqsi2sd(dst, src); |
+ } |
+} |
+ |
+ |
void MacroAssembler::Cvtsd2si(Register dst, XMMRegister src) { |
if (CpuFeatures::IsSupported(AVX)) { |
CpuFeatureScope scope(this, AVX); |