Skip to content

Commit e914856

Browse files
committed
[AMDGPU] New RegBanKSelect: Add S128 types
1 parent e73bff8 commit e914856

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,9 @@ LLT RegBankLegalizeHelper::getTyFromID(RegBankLLTMappingApplyID ID) {
556556
case Sgpr64:
557557
case Vgpr64:
558558
return LLT::scalar(64);
559+
case Sgpr128:
560+
case Vgpr128:
561+
return LLT::scalar(128);
559562
case VgprP0:
560563
return LLT::pointer(0, 64);
561564
case SgprP1:
@@ -646,6 +649,7 @@ RegBankLegalizeHelper::getRegBankFromID(RegBankLLTMappingApplyID ID) {
646649
case Sgpr16:
647650
case Sgpr32:
648651
case Sgpr64:
652+
case Sgpr128:
649653
case SgprP1:
650654
case SgprP3:
651655
case SgprP4:
@@ -678,6 +682,7 @@ RegBankLegalizeHelper::getRegBankFromID(RegBankLLTMappingApplyID ID) {
678682
case Vgpr16:
679683
case Vgpr32:
680684
case Vgpr64:
685+
case Vgpr128:
681686
case VgprP0:
682687
case VgprP1:
683688
case VgprP3:
@@ -718,6 +723,7 @@ void RegBankLegalizeHelper::applyMappingDst(
718723
case Sgpr16:
719724
case Sgpr32:
720725
case Sgpr64:
726+
case Sgpr128:
721727
case SgprP1:
722728
case SgprP3:
723729
case SgprP4:
@@ -728,6 +734,7 @@ void RegBankLegalizeHelper::applyMappingDst(
728734
case Vgpr16:
729735
case Vgpr32:
730736
case Vgpr64:
737+
case Vgpr128:
731738
case VgprP0:
732739
case VgprP1:
733740
case VgprP3:
@@ -839,6 +846,7 @@ void RegBankLegalizeHelper::applyMappingSrc(
839846
case Sgpr16:
840847
case Sgpr32:
841848
case Sgpr64:
849+
case Sgpr128:
842850
case SgprP1:
843851
case SgprP3:
844852
case SgprP4:
@@ -865,6 +873,7 @@ void RegBankLegalizeHelper::applyMappingSrc(
865873
case Vgpr16:
866874
case Vgpr32:
867875
case Vgpr64:
876+
case Vgpr128:
868877
case VgprP0:
869878
case VgprP1:
870879
case VgprP3:

llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ bool matchUniformityAndLLT(Register Reg, UniformityLLTOpPredicateID UniID,
5050
return MRI.getType(Reg) == LLT::scalar(32);
5151
case S64:
5252
return MRI.getType(Reg) == LLT::scalar(64);
53+
case S128:
54+
return MRI.getType(Reg) == LLT::scalar(128);
5355
case P0:
5456
return MRI.getType(Reg) == LLT::pointer(0, 64);
5557
case P1:
@@ -84,6 +86,8 @@ bool matchUniformityAndLLT(Register Reg, UniformityLLTOpPredicateID UniID,
8486
return MRI.getType(Reg) == LLT::scalar(32) && MUI.isUniform(Reg);
8587
case UniS64:
8688
return MRI.getType(Reg) == LLT::scalar(64) && MUI.isUniform(Reg);
89+
case UniS128:
90+
return MRI.getType(Reg) == LLT::scalar(128) && MUI.isUniform(Reg);
8791
case UniP0:
8892
return MRI.getType(Reg) == LLT::pointer(0, 64) && MUI.isUniform(Reg);
8993
case UniP1:
@@ -116,6 +120,8 @@ bool matchUniformityAndLLT(Register Reg, UniformityLLTOpPredicateID UniID,
116120
return MRI.getType(Reg) == LLT::scalar(32) && MUI.isDivergent(Reg);
117121
case DivS64:
118122
return MRI.getType(Reg) == LLT::scalar(64) && MUI.isDivergent(Reg);
123+
case DivS128:
124+
return MRI.getType(Reg) == LLT::scalar(128) && MUI.isDivergent(Reg);
119125
case DivP0:
120126
return MRI.getType(Reg) == LLT::pointer(0, 64) && MUI.isDivergent(Reg);
121127
case DivP1:

llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,19 @@ enum UniformityLLTOpPredicateID {
3939
S16,
4040
S32,
4141
S64,
42+
S128,
4243

4344
UniS1,
4445
UniS16,
4546
UniS32,
4647
UniS64,
48+
UniS128,
4749

4850
DivS1,
4951
DivS16,
5052
DivS32,
5153
DivS64,
54+
DivS128,
5255

5356
// pointers
5457
P0,
@@ -117,6 +120,7 @@ enum RegBankLLTMappingApplyID {
117120
Sgpr16,
118121
Sgpr32,
119122
Sgpr64,
123+
Sgpr128,
120124
SgprP1,
121125
SgprP3,
122126
SgprP4,
@@ -135,6 +139,7 @@ enum RegBankLLTMappingApplyID {
135139
Vgpr16,
136140
Vgpr32,
137141
Vgpr64,
142+
Vgpr128,
138143
VgprP0,
139144
VgprP1,
140145
VgprP3,

0 commit comments

Comments
 (0)