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 3f452e8cb7ac7a0edae08d2d3382b76f5f8abfb4..7a63ff044348f806b965f68491ed76a9d0757cbb 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -490,22 +490,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
case kSSEFloat64Sqrt: |
__ sqrtsd(i.OutputDoubleRegister(), i.InputOperand(0)); |
break; |
- case kSSEFloat64Floor: { |
+ case kSSEFloat64Round: { |
CpuFeatureScope sse_scope(masm(), SSE4_1); |
- __ roundsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
- v8::internal::Assembler::kRoundDown); |
- break; |
- } |
- case kSSEFloat64Ceil: { |
- CpuFeatureScope sse_scope(masm(), SSE4_1); |
- __ roundsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
- v8::internal::Assembler::kRoundUp); |
- break; |
- } |
- case kSSEFloat64RoundTruncate: { |
- CpuFeatureScope sse_scope(masm(), SSE4_1); |
- __ roundsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0), |
- v8::internal::Assembler::kRoundToZero); |
+ RoundingMode const mode = |
+ static_cast<RoundingMode>(MiscField::decode(instr->opcode())); |
+ __ roundsd(i.OutputDoubleRegister(), i.InputDoubleRegister(0), mode); |
break; |
} |
case kSSECvtss2sd: |