| Index: src/compiler/ia32/instruction-selector-ia32.cc
|
| diff --git a/src/compiler/ia32/instruction-selector-ia32.cc b/src/compiler/ia32/instruction-selector-ia32.cc
|
| index 8d6ca1ef5430c4245451c22522ad7c1093eccd2b..c10efefa34c7adfb04322c10c23a5e217165b04d 100644
|
| --- a/src/compiler/ia32/instruction-selector-ia32.cc
|
| +++ b/src/compiler/ia32/instruction-selector-ia32.cc
|
| @@ -326,12 +326,28 @@ void InstructionSelector::VisitConvertInt32ToFloat64(Node* node) {
|
| }
|
|
|
|
|
| +void InstructionSelector::VisitConvertUint32ToFloat64(Node* node) {
|
| + IA32OperandGenerator g(this);
|
| + // TODO(turbofan): IA32 SSE LoadUint32() should take an operand.
|
| + Emit(kSSEUint32ToFloat64, g.DefineAsDoubleRegister(node),
|
| + g.UseRegister(node->InputAt(0)));
|
| +}
|
| +
|
| +
|
| void InstructionSelector::VisitConvertFloat64ToInt32(Node* node) {
|
| IA32OperandGenerator g(this);
|
| Emit(kSSEFloat64ToInt32, g.DefineAsRegister(node), g.Use(node->InputAt(0)));
|
| }
|
|
|
|
|
| +void InstructionSelector::VisitConvertFloat64ToUint32(Node* node) {
|
| + IA32OperandGenerator g(this);
|
| + // TODO(turbofan): IA32 SSE subsd() should take an operand.
|
| + Emit(kSSEFloat64ToUint32, g.DefineAsRegister(node),
|
| + g.UseDoubleRegister(node->InputAt(0)));
|
| +}
|
| +
|
| +
|
| void InstructionSelector::VisitFloat64Add(Node* node) {
|
| IA32OperandGenerator g(this);
|
| Emit(kSSEFloat64Add, g.DefineSameAsFirst(node),
|
|
|