Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: src/compiler/mips/instruction-selector-mips.cc

Issue 2252863003: [turbofan] Add Float32(Max|Min) machine operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Type is number now. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 VisitRRR(this, kMipsDivD, node); 795 VisitRRR(this, kMipsDivD, node);
796 } 796 }
797 797
798 798
799 void InstructionSelector::VisitFloat64Mod(Node* node) { 799 void InstructionSelector::VisitFloat64Mod(Node* node) {
800 MipsOperandGenerator g(this); 800 MipsOperandGenerator g(this);
801 Emit(kMipsModD, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12), 801 Emit(kMipsModD, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12),
802 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); 802 g.UseFixed(node->InputAt(1), f14))->MarkAsCall();
803 } 803 }
804 804
805 void InstructionSelector::VisitFloat32Max(Node* node) {
806 MipsOperandGenerator g(this);
807 Emit(kMipsFloat32Max, g.DefineAsRegister(node),
808 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1)));
809 }
805 810
806 void InstructionSelector::VisitFloat64Max(Node* node) { 811 void InstructionSelector::VisitFloat64Max(Node* node) {
807 MipsOperandGenerator g(this); 812 MipsOperandGenerator g(this);
808 Emit(kMipsFloat64Max, g.DefineAsRegister(node), 813 Emit(kMipsFloat64Max, g.DefineAsRegister(node),
809 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1))); 814 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1)));
810 } 815 }
811 816
817 void InstructionSelector::VisitFloat32Min(Node* node) {
818 MipsOperandGenerator g(this);
819 Emit(kMipsFloat32Min, g.DefineAsRegister(node),
820 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1)));
821 }
812 822
813 void InstructionSelector::VisitFloat64Min(Node* node) { 823 void InstructionSelector::VisitFloat64Min(Node* node) {
814 MipsOperandGenerator g(this); 824 MipsOperandGenerator g(this);
815 Emit(kMipsFloat64Min, g.DefineAsRegister(node), 825 Emit(kMipsFloat64Min, g.DefineAsRegister(node),
816 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1))); 826 g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1)));
817 } 827 }
818 828
819 829
820 void InstructionSelector::VisitFloat32Abs(Node* node) { 830 void InstructionSelector::VisitFloat32Abs(Node* node) {
821 VisitRR(this, kMipsAbsS, node); 831 VisitRR(this, kMipsAbsS, node);
(...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || 1658 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) ||
1649 IsMipsArchVariant(kMips32r2)); 1659 IsMipsArchVariant(kMips32r2));
1650 return MachineOperatorBuilder::AlignmentRequirements:: 1660 return MachineOperatorBuilder::AlignmentRequirements::
1651 NoUnalignedAccessSupport(); 1661 NoUnalignedAccessSupport();
1652 } 1662 }
1653 } 1663 }
1654 1664
1655 } // namespace compiler 1665 } // namespace compiler
1656 } // namespace internal 1666 } // namespace internal
1657 } // namespace v8 1667 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/mips/instruction-codes-mips.h ('k') | src/compiler/mips64/code-generator-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698