| 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..1c2d3ee88535559fe4c737d5c39ff6d0b139e18d 100644
|
| --- a/src/compiler/x64/code-generator-x64.cc
|
| +++ b/src/compiler/x64/code-generator-x64.cc
|
| @@ -469,11 +469,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| break;
|
| }
|
| case kSSEFloat64ToUint32: {
|
| - // TODO(turbofan): X64 SSE cvttsd2siq should support operands.
|
| - __ cvttsd2siq(i.OutputRegister(), i.InputDoubleRegister(0));
|
| + RegisterOrOperand input = i.InputRegisterOrOperand(0);
|
| + if (input.type == kDoubleRegister) {
|
| + __ cvttsd2siq(i.OutputRegister(), input.double_reg);
|
| + } else {
|
| + __ cvttsd2siq(i.OutputRegister(), input.operand);
|
| + }
|
| __ andl(i.OutputRegister(), i.OutputRegister()); // clear upper bits.
|
| - // TODO(turbofan): generated code should not look at the upper 32 bits
|
| - // of the result, but those bits could escape to the outside world.
|
| break;
|
| }
|
| case kSSEInt32ToFloat64: {
|
|
|