OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/base/bits.h" | 5 #include "src/base/bits.h" |
6 #include "src/compiler/instruction-selector-impl.h" | 6 #include "src/compiler/instruction-selector-impl.h" |
7 #include "src/compiler/node-matchers.h" | 7 #include "src/compiler/node-matchers.h" |
8 #include "src/compiler/node-properties.h" | 8 #include "src/compiler/node-properties.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 | 610 |
611 | 611 |
612 void InstructionSelector::VisitFloat64Mod(Node* node) { | 612 void InstructionSelector::VisitFloat64Mod(Node* node) { |
613 Mips64OperandGenerator g(this); | 613 Mips64OperandGenerator g(this); |
614 Emit(kMips64ModD, g.DefineAsFixed(node, f0), | 614 Emit(kMips64ModD, g.DefineAsFixed(node, f0), |
615 g.UseFixed(node->InputAt(0), f12), | 615 g.UseFixed(node->InputAt(0), f12), |
616 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); | 616 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); |
617 } | 617 } |
618 | 618 |
619 | 619 |
| 620 void InstructionSelector::VisitFloat64Max(Node* node) { UNREACHABLE(); } |
| 621 |
| 622 |
| 623 void InstructionSelector::VisitFloat64Min(Node* node) { UNREACHABLE(); } |
| 624 |
| 625 |
620 void InstructionSelector::VisitFloat64Sqrt(Node* node) { | 626 void InstructionSelector::VisitFloat64Sqrt(Node* node) { |
621 Mips64OperandGenerator g(this); | 627 Mips64OperandGenerator g(this); |
622 Emit(kMips64SqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); | 628 Emit(kMips64SqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
623 } | 629 } |
624 | 630 |
625 | 631 |
626 void InstructionSelector::VisitFloat64RoundDown(Node* node) { | 632 void InstructionSelector::VisitFloat64RoundDown(Node* node) { |
627 VisitRR(this, kMips64Float64RoundDown, node); | 633 VisitRR(this, kMips64Float64RoundDown, node); |
628 } | 634 } |
629 | 635 |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1181 // static | 1187 // static |
1182 MachineOperatorBuilder::Flags | 1188 MachineOperatorBuilder::Flags |
1183 InstructionSelector::SupportedMachineOperatorFlags() { | 1189 InstructionSelector::SupportedMachineOperatorFlags() { |
1184 return MachineOperatorBuilder::kFloat64RoundDown | | 1190 return MachineOperatorBuilder::kFloat64RoundDown | |
1185 MachineOperatorBuilder::kFloat64RoundTruncate; | 1191 MachineOperatorBuilder::kFloat64RoundTruncate; |
1186 } | 1192 } |
1187 | 1193 |
1188 } // namespace compiler | 1194 } // namespace compiler |
1189 } // namespace internal | 1195 } // namespace internal |
1190 } // namespace v8 | 1196 } // namespace v8 |
OLD | NEW |