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 f93ad21a219a09c0ca51f556dbf9d457a8a58ad1..c17da8f79b793f93d04ff0d3eebb3670d7afdb1d 100644 |
--- a/src/compiler/x64/code-generator-x64.cc |
+++ b/src/compiler/x64/code-generator-x64.cc |
@@ -486,8 +486,12 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
break; |
} |
case kSSEUint32ToFloat64: { |
- // TODO(turbofan): X64 SSE cvtqsi2sd should support operands. |
- __ cvtqsi2sd(i.OutputDoubleRegister(), i.InputRegister(0)); |
+ RegisterOrOperand input = i.InputRegisterOrOperand(0); |
+ if (input.type == kRegister) { |
+ __ cvtqsi2sd(i.OutputDoubleRegister(), input.reg); |
+ } else { |
+ __ cvtqsi2sd(i.OutputDoubleRegister(), input.operand); |
+ } |
break; |
} |
case kX64Movsxbl: |