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 ce8cb0f6306410a2c5999553418d0388b011ad80..b5b740c27d48a9592f01f7a29041180c63800c99 100644 |
--- a/src/compiler/ia32/instruction-selector-ia32.cc |
+++ b/src/compiler/ia32/instruction-selector-ia32.cc |
@@ -354,6 +354,13 @@ void InstructionSelector::VisitInt32UMod(Node* node) { |
} |
+void InstructionSelector::VisitChangeFloat32ToFloat64(Node* node) { |
+ IA32OperandGenerator g(this); |
+ // TODO(turbofan): IA32 SSE conversions should take an operand. |
+ Emit(kCvtss2sd, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
void InstructionSelector::VisitChangeInt32ToFloat64(Node* node) { |
IA32OperandGenerator g(this); |
Emit(kSSEInt32ToFloat64, g.DefineAsRegister(node), g.Use(node->InputAt(0))); |
@@ -380,6 +387,13 @@ void InstructionSelector::VisitChangeFloat64ToUint32(Node* node) { |
} |
+void InstructionSelector::VisitTruncateFloat64ToFloat32(Node* node) { |
+ IA32OperandGenerator g(this); |
+ // TODO(turbofan): IA32 SSE conversions should take an operand. |
+ Emit(kCvtsd2ss, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
void InstructionSelector::VisitFloat64Add(Node* node) { |
IA32OperandGenerator g(this); |
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node), |