Skip to content

Commit 5805695

Browse files
committed
[AMDGPU] New RegBanKSelect: Add S128 types
1 parent 2665b0c commit 5805695

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
case SgprP0:
561564
return LLT::pointer(0, 64);
@@ -656,6 +659,7 @@ RegBankLegalizeHelper::getRegBankFromID(RegBankLLTMappingApplyID ID) {
656659
case Sgpr16:
657660
case Sgpr32:
658661
case Sgpr64:
662+
case Sgpr128:
659663
case SgprP0:
660664
case SgprP1:
661665
case SgprP2:
@@ -692,6 +696,7 @@ RegBankLegalizeHelper::getRegBankFromID(RegBankLLTMappingApplyID ID) {
692696
case Vgpr16:
693697
case Vgpr32:
694698
case Vgpr64:
699+
case Vgpr128:
695700
case VgprP0:
696701
case VgprP1:
697702
case VgprP2:
@@ -735,6 +740,7 @@ void RegBankLegalizeHelper::applyMappingDst(
735740
case Sgpr16:
736741
case Sgpr32:
737742
case Sgpr64:
743+
case Sgpr128:
738744
case SgprP0:
739745
case SgprP1:
740746
case SgprP2:
@@ -749,6 +755,7 @@ void RegBankLegalizeHelper::applyMappingDst(
749755
case Vgpr16:
750756
case Vgpr32:
751757
case Vgpr64:
758+
case Vgpr128:
752759
case VgprP0:
753760
case VgprP1:
754761
case VgprP2:
@@ -863,6 +870,7 @@ void RegBankLegalizeHelper::applyMappingSrc(
863870
case Sgpr16:
864871
case Sgpr32:
865872
case Sgpr64:
873+
case Sgpr128:
866874
case SgprP0:
867875
case SgprP1:
868876
case SgprP2:
@@ -893,6 +901,7 @@ void RegBankLegalizeHelper::applyMappingSrc(
893901
case Vgpr16:
894902
case Vgpr32:
895903
case Vgpr64:
904+
case Vgpr128:
896905
case VgprP0:
897906
case VgprP1:
898907
case VgprP2:

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:
@@ -90,6 +92,8 @@ bool matchUniformityAndLLT(Register Reg, UniformityLLTOpPredicateID UniID,
9092
return MRI.getType(Reg) == LLT::scalar(32) && MUI.isUniform(Reg);
9193
case UniS64:
9294
return MRI.getType(Reg) == LLT::scalar(64) && MUI.isUniform(Reg);
95+
case UniS128:
96+
return MRI.getType(Reg) == LLT::scalar(128) && MUI.isUniform(Reg);
9397
case UniP0:
9498
return MRI.getType(Reg) == LLT::pointer(0, 64) && MUI.isUniform(Reg);
9599
case UniP1:
@@ -128,6 +132,8 @@ bool matchUniformityAndLLT(Register Reg, UniformityLLTOpPredicateID UniID,
128132
return MRI.getType(Reg) == LLT::scalar(32) && MUI.isDivergent(Reg);
129133
case DivS64:
130134
return MRI.getType(Reg) == LLT::scalar(64) && MUI.isDivergent(Reg);
135+
case DivS128:
136+
return MRI.getType(Reg) == LLT::scalar(128) && MUI.isDivergent(Reg);
131137
case DivP0:
132138
return MRI.getType(Reg) == LLT::pointer(0, 64) && MUI.isDivergent(Reg);
133139
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,
@@ -126,6 +129,7 @@ enum RegBankLLTMappingApplyID {
126129
Sgpr16,
127130
Sgpr32,
128131
Sgpr64,
132+
Sgpr128,
129133
SgprP0,
130134
SgprP1,
131135
SgprP2,
@@ -148,6 +152,7 @@ enum RegBankLLTMappingApplyID {
148152
Vgpr16,
149153
Vgpr32,
150154
Vgpr64,
155+
Vgpr128,
151156
VgprP0,
152157
VgprP1,
153158
VgprP2,

0 commit comments

Comments
 (0)