| 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/adapters.h" | 5 #include "src/base/adapters.h" |
| 6 #include "src/base/bits.h" | 6 #include "src/base/bits.h" |
| 7 #include "src/compiler/instruction-selector-impl.h" | 7 #include "src/compiler/instruction-selector-impl.h" |
| 8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
| 9 #include "src/compiler/node-properties.h" | 9 #include "src/compiler/node-properties.h" |
| 10 | 10 |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 void InstructionSelector::VisitFloat32Sqrt(Node* node) { | 640 void InstructionSelector::VisitFloat32Sqrt(Node* node) { |
| 641 VisitRR(this, kMipsSqrtS, node); | 641 VisitRR(this, kMipsSqrtS, node); |
| 642 } | 642 } |
| 643 | 643 |
| 644 | 644 |
| 645 void InstructionSelector::VisitFloat64Sqrt(Node* node) { | 645 void InstructionSelector::VisitFloat64Sqrt(Node* node) { |
| 646 VisitRR(this, kMipsSqrtD, node); | 646 VisitRR(this, kMipsSqrtD, node); |
| 647 } | 647 } |
| 648 | 648 |
| 649 | 649 |
| 650 void InstructionSelector::VisitFloat32RoundDown(Node* node) { UNREACHABLE(); } | 650 void InstructionSelector::VisitFloat32RoundDown(Node* node) { |
| 651 VisitRR(this, kMipsFloat32RoundDown, node); |
| 652 } |
| 651 | 653 |
| 652 | 654 |
| 653 void InstructionSelector::VisitFloat64RoundDown(Node* node) { | 655 void InstructionSelector::VisitFloat64RoundDown(Node* node) { |
| 654 VisitRR(this, kMipsFloat64RoundDown, node); | 656 VisitRR(this, kMipsFloat64RoundDown, node); |
| 655 } | 657 } |
| 656 | 658 |
| 657 | 659 |
| 658 void InstructionSelector::VisitFloat32RoundUp(Node* node) { UNREACHABLE(); } | 660 void InstructionSelector::VisitFloat32RoundUp(Node* node) { |
| 661 VisitRR(this, kMipsFloat32RoundUp, node); |
| 662 } |
| 659 | 663 |
| 660 | 664 |
| 661 void InstructionSelector::VisitFloat64RoundUp(Node* node) { | 665 void InstructionSelector::VisitFloat64RoundUp(Node* node) { |
| 662 VisitRR(this, kMipsFloat64RoundUp, node); | 666 VisitRR(this, kMipsFloat64RoundUp, node); |
| 663 } | 667 } |
| 664 | 668 |
| 665 | 669 |
| 666 void InstructionSelector::VisitFloat32RoundTruncate(Node* node) { | 670 void InstructionSelector::VisitFloat32RoundTruncate(Node* node) { |
| 667 UNREACHABLE(); | 671 VisitRR(this, kMipsFloat32RoundTruncate, node); |
| 668 } | 672 } |
| 669 | 673 |
| 670 | 674 |
| 671 void InstructionSelector::VisitFloat64RoundTruncate(Node* node) { | 675 void InstructionSelector::VisitFloat64RoundTruncate(Node* node) { |
| 672 VisitRR(this, kMipsFloat64RoundTruncate, node); | 676 VisitRR(this, kMipsFloat64RoundTruncate, node); |
| 673 } | 677 } |
| 674 | 678 |
| 675 | 679 |
| 676 void InstructionSelector::VisitFloat64RoundTiesAway(Node* node) { | 680 void InstructionSelector::VisitFloat64RoundTiesAway(Node* node) { |
| 677 UNREACHABLE(); | 681 UNREACHABLE(); |
| 678 } | 682 } |
| 679 | 683 |
| 680 | 684 |
| 681 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { | 685 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { |
| 682 UNREACHABLE(); | 686 VisitRR(this, kMipsFloat32RoundTiesEven, node); |
| 683 } | 687 } |
| 684 | 688 |
| 685 | 689 |
| 686 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 690 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
| 687 VisitRR(this, kMipsFloat64RoundTiesEven, node); | 691 VisitRR(this, kMipsFloat64RoundTiesEven, node); |
| 688 } | 692 } |
| 689 | 693 |
| 690 | 694 |
| 691 void InstructionSelector::EmitPrepareArguments(NodeVector* arguments, | 695 void InstructionSelector::EmitPrepareArguments(NodeVector* arguments, |
| 692 const CallDescriptor* descriptor, | 696 const CallDescriptor* descriptor, |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1192 if ((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && | 1196 if ((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 1193 IsFp64Mode()) { | 1197 IsFp64Mode()) { |
| 1194 flags |= MachineOperatorBuilder::kFloat64RoundDown | | 1198 flags |= MachineOperatorBuilder::kFloat64RoundDown | |
| 1195 MachineOperatorBuilder::kFloat64RoundUp | | 1199 MachineOperatorBuilder::kFloat64RoundUp | |
| 1196 MachineOperatorBuilder::kFloat64RoundTruncate | | 1200 MachineOperatorBuilder::kFloat64RoundTruncate | |
| 1197 MachineOperatorBuilder::kFloat64RoundTiesEven; | 1201 MachineOperatorBuilder::kFloat64RoundTiesEven; |
| 1198 } | 1202 } |
| 1199 return flags | MachineOperatorBuilder::kFloat64Min | | 1203 return flags | MachineOperatorBuilder::kFloat64Min | |
| 1200 MachineOperatorBuilder::kFloat64Max | | 1204 MachineOperatorBuilder::kFloat64Max | |
| 1201 MachineOperatorBuilder::kFloat32Min | | 1205 MachineOperatorBuilder::kFloat32Min | |
| 1202 MachineOperatorBuilder::kFloat32Max; | 1206 MachineOperatorBuilder::kFloat32Max | |
| 1207 MachineOperatorBuilder::kFloat32RoundDown | |
| 1208 MachineOperatorBuilder::kFloat32RoundUp | |
| 1209 MachineOperatorBuilder::kFloat32RoundTruncate | |
| 1210 MachineOperatorBuilder::kFloat32RoundTiesEven; |
| 1203 } | 1211 } |
| 1204 | 1212 |
| 1205 } // namespace compiler | 1213 } // namespace compiler |
| 1206 } // namespace internal | 1214 } // namespace internal |
| 1207 } // namespace v8 | 1215 } // namespace v8 |
| OLD | NEW |