Index: src/compiler/x64/code-generator-x64.cc |
diff --git a/src/compiler/x64/code-generator-x64.cc b/src/compiler/x64/code-generator-x64.cc |
index 6fa758f27899acb5a0c53f930834ac3ef9270cdd..b4dfc25f23e5cc7a30f6e02459fc5cb9e798a1a4 100644 |
--- a/src/compiler/x64/code-generator-x64.cc |
+++ b/src/compiler/x64/code-generator-x64.cc |
@@ -447,10 +447,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
break; |
case kSSEUint32ToFloat64: |
if (instr->InputAt(0)->IsRegister()) { |
- __ cvtqsi2sd(i.OutputDoubleRegister(), i.InputRegister(0)); |
+ __ movl(kScratchRegister, i.InputRegister(0)); |
} else { |
- __ cvtqsi2sd(i.OutputDoubleRegister(), i.InputOperand(0)); |
+ __ movl(kScratchRegister, i.InputOperand(0)); |
} |
+ __ cvtqsi2sd(i.OutputDoubleRegister(), kScratchRegister); |
break; |
case kX64Movsxbl: |
__ movsxbl(i.OutputRegister(), i.MemoryOperand()); |