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 24ebc38393cd1e2e972a4996e891ed8ec9bfa64b..dfdf23329ba4a70057c7acea329d91621973d37e 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(kSSECvtss2sd, 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(kSSECvtsd2ss, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
+} |
+ |
+ |
void InstructionSelector::VisitFloat64Add(Node* node) { |
IA32OperandGenerator g(this); |
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node), |