Skip to content

Commit 7c68a95

Browse files
authored
AMDGPU: Use PseudoInstr to name SIMCInstr for DSDIR and SOPs, NFC (#87537)
We should consistently use PseudoInstr instead of Mnemonic to name SIMCInstr, even though they may be the same in most cases
1 parent 52ae02d commit 7c68a95

File tree

2 files changed

+40
-40
lines changed

2 files changed

+40
-40
lines changed

llvm/lib/Target/AMDGPU/DSDIRInstructions.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class DSDIR_Real<DSDIR_Pseudo lds, dag ins, string asm, int subtarget> :
112112
lds.Mnemonic # asm,
113113
ins,
114114
lds.is_direct>,
115-
SIMCInstr <lds.Mnemonic, subtarget> {
115+
SIMCInstr <lds.PseudoInstr, subtarget> {
116116
let isPseudo = 0;
117117
let isCodeGenOnly = 0;
118118

llvm/lib/Target/AMDGPU/SOPInstructions.td

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1972,30 +1972,30 @@ class Select_gfx6_gfx7<string opName> : SIMCInstr<opName, SIEncodingFamily.SI> {
19721972
multiclass SOP1_Real_gfx11<bits<8> op, string name = !tolower(NAME)> {
19731973
defvar ps = !cast<SOP1_Pseudo>(NAME);
19741974
def _gfx11 : SOP1_Real<op, ps, name>,
1975-
Select_gfx11<ps.Mnemonic>;
1975+
Select_gfx11<ps.PseudoInstr>;
19761976
if !ne(ps.Mnemonic, name) then
19771977
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX11Only]>;
19781978
}
19791979

19801980
multiclass SOP1_Real_gfx12<bits<8> op, string name = !tolower(NAME)> {
19811981
defvar ps = !cast<SOP1_Pseudo>(NAME);
19821982
def _gfx12 : SOP1_Real<op, ps, name>,
1983-
Select_gfx12<ps.Mnemonic>;
1983+
Select_gfx12<ps.PseudoInstr>;
19841984
if !ne(ps.Mnemonic, name) then
19851985
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX12Plus]>;
19861986
}
19871987

19881988
multiclass SOP1_M0_Real_gfx12<bits<8> op> {
19891989
def _gfx12 : SOP1_Real<op, !cast<SOP1_Pseudo>(NAME)>,
1990-
Select_gfx12<!cast<SOP1_Pseudo>(NAME).Mnemonic> {
1990+
Select_gfx12<!cast<SOP1_Pseudo>(NAME).PseudoInstr> {
19911991
let Inst{7-0} = M0_gfx11plus.HWEncoding{7-0}; // Set Src0 encoding to M0
19921992
}
19931993
}
19941994

19951995
multiclass SOP1_IMM_Real_gfx12<bits<8> op> {
19961996
defvar ps = !cast<SOP1_Pseudo>(NAME);
19971997
def _gfx12 : SOP1_Real<op, ps>,
1998-
Select_gfx12<ps.Mnemonic>;
1998+
Select_gfx12<ps.PseudoInstr>;
19991999
}
20002000

20012001
multiclass SOP1_Real_gfx11_gfx12<bits<8> op, string name = !tolower(NAME)> :
@@ -2106,7 +2106,7 @@ defm S_RNDNE_F16 : SOP1_Real_gfx11_gfx12<0x06e>;
21062106
multiclass SOP1_Real_gfx10<bits<8> op> {
21072107
defvar ps = !cast<SOP1_Pseudo>(NAME);
21082108
def _gfx10 : SOP1_Real<op, ps>,
2109-
Select_gfx10<ps.Mnemonic>;
2109+
Select_gfx10<ps.PseudoInstr>;
21102110
}
21112111

21122112
multiclass SOP1_Real_gfx10_gfx11_gfx12<bits<8> op> :
@@ -2139,7 +2139,7 @@ defm S_MOVRELSD_2_B32 : SOP1_Real_gfx10<0x049>;
21392139
multiclass SOP1_Real_gfx6_gfx7<bits<8> op> {
21402140
defvar ps = !cast<SOP1_Pseudo>(NAME);
21412141
def _gfx6_gfx7 : SOP1_Real<op, ps>,
2142-
Select_gfx6_gfx7<ps.Mnemonic>;
2142+
Select_gfx6_gfx7<ps.PseudoInstr>;
21432143
}
21442144

21452145
multiclass SOP1_Real_gfx6_gfx7_gfx10<bits<8> op> :
@@ -2205,7 +2205,7 @@ defm S_ABS_I32 : SOP1_Real_gfx6_gfx7_gfx10<0x034>;
22052205
multiclass SOP2_Real_gfx12<bits<7> op, string name = !tolower(NAME)> {
22062206
defvar ps = !cast<SOP2_Pseudo>(NAME);
22072207
def _gfx12 : SOP2_Real32<op, ps, name>,
2208-
Select_gfx12<ps.Mnemonic>;
2208+
Select_gfx12<ps.PseudoInstr>;
22092209
if !ne(ps.Mnemonic, name) then
22102210
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX12Plus]>;
22112211
}
@@ -2222,7 +2222,7 @@ defm S_MAXIMUM_F16 : SOP2_Real_gfx12<0x052>;
22222222
multiclass SOP2_Real_gfx11<bits<7> op, string name = !tolower(NAME)> {
22232223
defvar ps = !cast<SOP2_Pseudo>(NAME);
22242224
def _gfx11 : SOP2_Real32<op, ps, name>,
2225-
Select_gfx11<ps.Mnemonic>;
2225+
Select_gfx11<ps.PseudoInstr>;
22262226
if !ne(ps.Mnemonic, name) then
22272227
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX11Only]>;
22282228
}
@@ -2283,12 +2283,12 @@ defm S_MUL_U64 : SOP2_Real_gfx12<0x055>;
22832283

22842284
multiclass SOP2_Real_FMAK_gfx12<bits<7> op> {
22852285
def _gfx12 : SOP2_Real64<op, !cast<SOP2_Pseudo>(NAME)>,
2286-
Select_gfx12<!cast<SOP2_Pseudo>(NAME).Mnemonic>;
2286+
Select_gfx12<!cast<SOP2_Pseudo>(NAME).PseudoInstr>;
22872287
}
22882288

22892289
multiclass SOP2_Real_FMAK_gfx11<bits<7> op> {
22902290
def _gfx11 : SOP2_Real64<op, !cast<SOP2_Pseudo>(NAME)>,
2291-
Select_gfx11<!cast<SOP2_Pseudo>(NAME).Mnemonic>;
2291+
Select_gfx11<!cast<SOP2_Pseudo>(NAME).PseudoInstr>;
22922292
}
22932293

22942294
multiclass SOP2_Real_FMAK_gfx11_gfx12<bits<7> op> :
@@ -2325,7 +2325,7 @@ defm S_MAX_F16 : SOP2_Real_gfx11_Renamed_gfx12<0x04c, "s_max_num_f16">;
23252325
multiclass SOP2_Real_gfx10<bits<7> op> {
23262326
defvar ps = !cast<SOP2_Pseudo>(NAME);
23272327
def _gfx10 : SOP2_Real32<op, ps>,
2328-
Select_gfx10<ps.Mnemonic>;
2328+
Select_gfx10<ps.PseudoInstr>;
23292329
}
23302330

23312331
multiclass SOP2_Real_gfx10_gfx11_gfx12<bits<7> op> :
@@ -2348,7 +2348,7 @@ defm S_MUL_HI_I32 : SOP2_Real_gfx10<0x036>;
23482348
multiclass SOP2_Real_gfx6_gfx7<bits<7> op> {
23492349
defvar ps = !cast<SOP2_Pseudo>(NAME);
23502350
def _gfx6_gfx7 : SOP2_Real32<op, ps>,
2351-
Select_gfx6_gfx7<ps.Mnemonic>;
2351+
Select_gfx6_gfx7<ps.PseudoInstr>;
23522352
}
23532353

23542354
multiclass SOP2_Real_gfx6_gfx7_gfx10<bits<7> op> :
@@ -2410,24 +2410,24 @@ defm S_ABSDIFF_I32 : SOP2_Real_gfx6_gfx7_gfx10<0x02c>;
24102410
multiclass SOPK_Real32_gfx12<bits<5> op, string name = !tolower(NAME)> {
24112411
defvar ps = !cast<SOPK_Pseudo>(NAME);
24122412
def _gfx12 : SOPK_Real32<op, ps, name>,
2413-
Select_gfx12<ps.Mnemonic>;
2413+
Select_gfx12<ps.PseudoInstr>;
24142414
if !ne(ps.Mnemonic, name) then
24152415
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX12Plus]>;
24162416
}
24172417

24182418
multiclass SOPK_Real32_gfx11<bits<5> op> {
24192419
def _gfx11 : SOPK_Real32<op, !cast<SOPK_Pseudo>(NAME)>,
2420-
Select_gfx11<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
2420+
Select_gfx11<!cast<SOPK_Pseudo>(NAME).PseudoInstr>;
24212421
}
24222422

24232423
multiclass SOPK_Real64_gfx12<bits<5> op> {
24242424
def _gfx12 : SOPK_Real64<op, !cast<SOPK_Pseudo>(NAME)>,
2425-
Select_gfx12<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
2425+
Select_gfx12<!cast<SOPK_Pseudo>(NAME).PseudoInstr>;
24262426
}
24272427

24282428
multiclass SOPK_Real64_gfx11<bits<5> op> {
24292429
def _gfx11 : SOPK_Real64<op, !cast<SOPK_Pseudo>(NAME)>,
2430-
Select_gfx11<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
2430+
Select_gfx11<!cast<SOPK_Pseudo>(NAME).PseudoInstr>;
24312431
}
24322432

24332433
multiclass SOPK_Real32_gfx11_gfx12<bits<5> op> :
@@ -2454,13 +2454,13 @@ defm S_WAITCNT_LGKMCNT : SOPK_Real32_gfx11<0x01b>;
24542454
multiclass SOPK_Real32_gfx10<bits<5> op> {
24552455
defvar ps = !cast<SOPK_Pseudo>(NAME);
24562456
def _gfx10 : SOPK_Real32<op, ps>,
2457-
Select_gfx10<ps.Mnemonic>;
2457+
Select_gfx10<ps.PseudoInstr>;
24582458
}
24592459

24602460
multiclass SOPK_Real64_gfx10<bits<5> op> {
24612461
defvar ps = !cast<SOPK_Pseudo>(NAME);
24622462
def _gfx10 : SOPK_Real64<op, ps>,
2463-
Select_gfx10<ps.Mnemonic>;
2463+
Select_gfx10<ps.PseudoInstr>;
24642464
}
24652465

24662466
multiclass SOPK_Real32_gfx10_gfx11<bits<5> op> :
@@ -2485,13 +2485,13 @@ defm S_SUBVECTOR_LOOP_END : SOPK_Real32_gfx10<0x01c>;
24852485
multiclass SOPK_Real32_gfx6_gfx7<bits<5> op> {
24862486
defvar ps = !cast<SOPK_Pseudo>(NAME);
24872487
def _gfx6_gfx7 : SOPK_Real32<op, ps>,
2488-
Select_gfx6_gfx7<ps.Mnemonic>;
2488+
Select_gfx6_gfx7<ps.PseudoInstr>;
24892489
}
24902490

24912491
multiclass SOPK_Real64_gfx6_gfx7<bits<5> op> {
24922492
defvar ps = !cast<SOPK_Pseudo>(NAME);
24932493
def _gfx6_gfx7 : SOPK_Real64<op, ps>,
2494-
Select_gfx6_gfx7<ps.Mnemonic>;
2494+
Select_gfx6_gfx7<ps.PseudoInstr>;
24952495
}
24962496

24972497
multiclass SOPK_Real32_gfx6_gfx7_gfx10<bits<5> op> :
@@ -2539,7 +2539,7 @@ defm S_SETREG_IMM32_B32 : SOPK_Real64_gfx6_gfx7_gfx10<0x015>;
25392539
multiclass SOPP_Real_32_gfx12<bits<7> op, string name = !tolower(NAME)> {
25402540
defvar ps = !cast<SOPP_Pseudo>(NAME);
25412541
def _gfx12 : SOPP_Real_32<op, ps, name>,
2542-
Select_gfx12<ps.Mnemonic>;
2542+
Select_gfx12<ps.PseudoInstr>;
25432543
if !ne(ps.Mnemonic, name) then
25442544
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX12Plus]>;
25452545
}
@@ -2564,21 +2564,21 @@ defm S_WAIT_STORECNT_DSCNT : SOPP_Real_32_gfx12<0x049>;
25642564
multiclass SOPP_Real_32_gfx11<bits<7> op, string name = !tolower(NAME)> {
25652565
defvar ps = !cast<SOPP_Pseudo>(NAME);
25662566
def _gfx11 : SOPP_Real_32<op, ps, name>,
2567-
Select_gfx11<ps.Mnemonic>,
2567+
Select_gfx11<ps.PseudoInstr>,
25682568
SOPPRelaxTable<0, ps.KeyName, "_gfx11">;
25692569
if !ne(ps.Mnemonic, name) then
25702570
def : MnemonicAlias<ps.Mnemonic, name>, Requires<[isGFX11Only]>;
25712571
}
25722572

25732573
multiclass SOPP_Real_64_gfx12<bits<7> op> {
25742574
def _gfx12 : SOPP_Real_64<op, !cast<SOPP_Pseudo>(NAME), !cast<SOPP_Pseudo>(NAME).Mnemonic>,
2575-
Select_gfx12<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
2575+
Select_gfx12<!cast<SOPP_Pseudo>(NAME).PseudoInstr>,
25762576
SOPPRelaxTable<1, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx12">;
25772577
}
25782578

25792579
multiclass SOPP_Real_64_gfx11<bits<7> op> {
25802580
def _gfx11 : SOPP_Real_64<op, !cast<SOPP_Pseudo>(NAME), !cast<SOPP_Pseudo>(NAME).Mnemonic>,
2581-
Select_gfx11<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
2581+
Select_gfx11<!cast<SOPP_Pseudo>(NAME).PseudoInstr>,
25822582
SOPPRelaxTable<1, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx11">;
25832583
}
25842584

@@ -2654,21 +2654,21 @@ defm S_SINGLEUSE_VDST : SOPP_Real_32_gfx11_gfx12<0x013>;
26542654
multiclass SOPP_Real_32_gfx6_gfx7<bits<7> op> {
26552655
defvar ps = !cast<SOPP_Pseudo>(NAME);
26562656
def _gfx6_gfx7 : SOPP_Real_32<op, ps, !cast<SOPP_Pseudo>(NAME).Mnemonic>,
2657-
Select_gfx6_gfx7<ps.Mnemonic>,
2657+
Select_gfx6_gfx7<ps.PseudoInstr>,
26582658
SOPPRelaxTable<0, ps.KeyName, "_gfx6_gfx7">;
26592659
}
26602660

26612661
multiclass SOPP_Real_32_gfx8_gfx9<bits<7> op> {
26622662
defvar ps = !cast<SOPP_Pseudo>(NAME);
26632663
def _vi : SOPP_Real_32<op, ps>,
2664-
Select_vi<ps.Mnemonic>,
2664+
Select_vi<ps.PseudoInstr>,
26652665
SOPPRelaxTable<0, ps.KeyName, "_vi">;
26662666
}
26672667

26682668
multiclass SOPP_Real_32_gfx10<bits<7> op> {
26692669
defvar ps = !cast<SOPP_Pseudo>(NAME);
26702670
def _gfx10 : SOPP_Real_32<op, ps>,
2671-
Select_gfx10<ps.Mnemonic>,
2671+
Select_gfx10<ps.PseudoInstr>,
26722672
SOPPRelaxTable<0, ps.KeyName, "_gfx10">;
26732673
}
26742674

@@ -2691,21 +2691,21 @@ multiclass SOPP_Real_32_gfx10_gfx11_gfx12<bits<7> op> :
26912691
multiclass SOPP_Real_64_gfx6_gfx7<bits<7> op> {
26922692
defvar ps = !cast<SOPP_Pseudo>(NAME);
26932693
def _gfx6_gfx7 : SOPP_Real_64<op, ps>,
2694-
Select_gfx6_gfx7<ps.Mnemonic>,
2694+
Select_gfx6_gfx7<ps.PseudoInstr>,
26952695
SOPPRelaxTable<1, ps.KeyName, "_gfx6_gfx7">;
26962696
}
26972697

26982698
multiclass SOPP_Real_64_gfx8_gfx9<bits<7> op> {
26992699
defvar ps = !cast<SOPP_Pseudo>(NAME);
27002700
def _vi : SOPP_Real_64<op, ps>,
2701-
Select_vi<ps.Mnemonic>,
2701+
Select_vi<ps.PseudoInstr>,
27022702
SOPPRelaxTable<1, ps.KeyName, "_vi">;
27032703
}
27042704

27052705
multiclass SOPP_Real_64_gfx10<bits<7> op> {
27062706
defvar ps = !cast<SOPP_Pseudo>(NAME);
27072707
def _gfx10 : SOPP_Real_64<op, ps>,
2708-
Select_gfx10<ps.Mnemonic>,
2708+
Select_gfx10<ps.PseudoInstr>,
27092709
SOPPRelaxTable<1, ps.KeyName, "_gfx10">;
27102710
}
27112711

@@ -2771,12 +2771,12 @@ defm S_CBRANCH_CDBGSYS_AND_USER : SOPP_Real_With_Relaxation_gfx6_gfx7_gfx8_gfx9_
27712771

27722772
multiclass SOPC_Real_gfx12<bits<7> op> {
27732773
def _gfx12 : SOPC_Real<op, !cast<SOPC_Pseudo>(NAME)>,
2774-
Select_gfx12<!cast<SOPC_Pseudo>(NAME).Mnemonic>;
2774+
Select_gfx12<!cast<SOPC_Pseudo>(NAME).PseudoInstr>;
27752775
}
27762776

27772777
multiclass SOPC_Real_gfx11<bits<7> op> {
27782778
def _gfx11 : SOPC_Real<op, !cast<SOPC_Pseudo>(NAME)>,
2779-
Select_gfx11<!cast<SOPC_Pseudo>(NAME).Mnemonic>;
2779+
Select_gfx11<!cast<SOPC_Pseudo>(NAME).PseudoInstr>;
27802780
}
27812781

27822782
multiclass SOPC_Real_gfx11_gfx12<bits<7> op> :
@@ -2826,19 +2826,19 @@ defm S_CMP_NLT_F16 : SOPC_Real_gfx11_gfx12<0x5e>;
28262826
multiclass SOPC_Real_gfx6_gfx7<bits<7> op> {
28272827
defvar ps = !cast<SOPC_Pseudo>(NAME);
28282828
def _gfx6_gfx7 : SOPC_Real<op, ps>,
2829-
Select_gfx6_gfx7<ps.Mnemonic>;
2829+
Select_gfx6_gfx7<ps.PseudoInstr>;
28302830
}
28312831

28322832
multiclass SOPC_Real_gfx8_gfx9<bits<7> op> {
28332833
defvar ps = !cast<SOPC_Pseudo>(NAME);
28342834
def _vi : SOPC_Real<op, ps>,
2835-
Select_vi<ps.Mnemonic>;
2835+
Select_vi<ps.PseudoInstr>;
28362836
}
28372837

28382838
multiclass SOPC_Real_gfx10<bits<7> op> {
28392839
defvar ps = !cast<SOPC_Pseudo>(NAME);
28402840
def _gfx10 : SOPC_Real<op, ps>,
2841-
Select_gfx10<ps.Mnemonic>;
2841+
Select_gfx10<ps.PseudoInstr>;
28422842
}
28432843

28442844
multiclass SOPC_Real_gfx8_gfx9_gfx10<bits<7> op> :
@@ -2878,15 +2878,15 @@ defm S_CMP_LG_U64 : SOPC_Real_gfx8_gfx9_gfx10<0x13>;
28782878

28792879
class SOP1_Real_vi<bits<8> op, SOP1_Pseudo ps> :
28802880
SOP1_Real<op, ps>,
2881-
Select_vi<ps.Mnemonic>;
2881+
Select_vi<ps.PseudoInstr>;
28822882

28832883
class SOP2_Real_vi<bits<7> op, SOP2_Pseudo ps> :
28842884
SOP2_Real32<op, ps>,
2885-
Select_vi<ps.Mnemonic>;
2885+
Select_vi<ps.PseudoInstr>;
28862886

28872887
class SOPK_Real_vi<bits<5> op, SOPK_Pseudo ps> :
28882888
SOPK_Real32<op, ps>,
2889-
Select_vi<ps.Mnemonic>;
2889+
Select_vi<ps.PseudoInstr>;
28902890

28912891
def S_MOV_B32_vi : SOP1_Real_vi <0x00, S_MOV_B32>;
28922892
def S_MOV_B64_vi : SOP1_Real_vi <0x01, S_MOV_B64>;
@@ -3007,7 +3007,7 @@ def S_GETREG_B32_vi : SOPK_Real_vi <0x11, S_GETREG_B32>;
30073007
def S_SETREG_B32_vi : SOPK_Real_vi <0x12, S_SETREG_B32>;
30083008
//def S_GETREG_REGRD_B32_vi : SOPK_Real_vi <0x13, S_GETREG_REGRD_B32>; // see pseudo for comments
30093009
def S_SETREG_IMM32_B32_vi : SOPK_Real64<0x14, S_SETREG_IMM32_B32>,
3010-
Select_vi<S_SETREG_IMM32_B32.Mnemonic>;
3010+
Select_vi<S_SETREG_IMM32_B32.PseudoInstr>;
30113011

30123012
def S_CALL_B64_vi : SOPK_Real_vi <0x15, S_CALL_B64>;
30133013

0 commit comments

Comments
 (0)