| Index: src/compiler/instruction-selector.cc
|
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
|
| index 729f16392feb5a2542b221c69da4d0885e963384..122bb5ff2c653163eb921a0a7d1475e2f9396738 100644
|
| --- a/src/compiler/instruction-selector.cc
|
| +++ b/src/compiler/instruction-selector.cc
|
| @@ -603,6 +603,10 @@ MachineType InstructionSelector::GetMachineType(Node* node) {
|
| case IrOpcode::kFloat64Div:
|
| case IrOpcode::kFloat64Mod:
|
| case IrOpcode::kFloat64Sqrt:
|
| + case IrOpcode::kFloat64Floor:
|
| + case IrOpcode::kFloat64Ceil:
|
| + case IrOpcode::kFloat64RoundTruncate:
|
| + case IrOpcode::kFloat64RoundTiesAway:
|
| return kMachFloat64;
|
| case IrOpcode::kFloat64Equal:
|
| case IrOpcode::kFloat64LessThan:
|
| @@ -792,11 +796,20 @@ void InstructionSelector::VisitNode(Node* node) {
|
| return VisitFloat64LessThan(node);
|
| case IrOpcode::kFloat64LessThanOrEqual:
|
| return VisitFloat64LessThanOrEqual(node);
|
| + case IrOpcode::kFloat64Floor:
|
| + return MarkAsDouble(node), VisitFloat64Floor(node);
|
| + case IrOpcode::kFloat64Ceil:
|
| + return MarkAsDouble(node), VisitFloat64Ceil(node);
|
| + case IrOpcode::kFloat64RoundTruncate:
|
| + return MarkAsDouble(node), VisitFloat64RoundTruncate(node);
|
| + case IrOpcode::kFloat64RoundTiesAway:
|
| + return MarkAsDouble(node), VisitFloat64RoundTiesAway(node);
|
| case IrOpcode::kLoadStackPointer:
|
| return VisitLoadStackPointer(node);
|
| default:
|
| V8_Fatal(__FILE__, __LINE__, "Unexpected operator #%d:%s @ node #%d",
|
| node->opcode(), node->op()->mnemonic(), node->id());
|
| + break;
|
| }
|
| }
|
|
|
|
|