Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index 6b4ee31e1a6bf0bd3e6eb868b4a4ccde76fdfc56..1ec79b778abfe6c586e40a05aa7dbd348d09228e 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -650,6 +650,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ xorps(i.OutputDoubleRegister(), kScratchDoubleReg); |
break; |
} |
+ case kSSEFloat32Round: { |
+ CpuFeatureScope sse_scope(masm(), SSE4_1); |
+ RoundingMode const mode = |
+ static_cast<RoundingMode>(MiscField::decode(instr->opcode())); |
+ __ roundss(i.OutputDoubleRegister(), i.InputDoubleRegister(0), mode); |
+ break; |
+ } |
case kSSEFloat64Cmp: |
__ ucomisd(i.InputDoubleRegister(0), i.InputOperand(1)); |
break; |