@@ -219,16 +219,14 @@ class MTBUF_Load_Pseudo <string opName,
219
219
RegisterOperand vdataClass,
220
220
int elems,
221
221
bit hasRestrictedSOffset = 0,
222
- list<dag> pattern=[],
223
- // Workaround bug bz30254
224
- int addrKindCopy = addrKind>
222
+ list<dag> pattern=[]>
225
223
: MTBUF_Pseudo<opName,
226
224
(outs vdataClass:$vdata),
227
- getMTBUFIns<addrKindCopy , [], hasRestrictedSOffset>.ret,
228
- getMTBUFAsmOps<addrKindCopy >.ret,
225
+ getMTBUFIns<addrKind , [], hasRestrictedSOffset>.ret,
226
+ getMTBUFAsmOps<addrKind >.ret,
229
227
pattern>,
230
- MTBUF_SetupAddr<addrKindCopy > {
231
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
228
+ MTBUF_SetupAddr<addrKind > {
229
+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
232
230
let mayLoad = 1;
233
231
let mayStore = 0;
234
232
let elements = elems;
@@ -266,17 +264,14 @@ class MTBUF_Store_Pseudo <string opName,
266
264
RegisterOperand vdataClass,
267
265
int elems,
268
266
bit hasRestrictedSOffset = 0,
269
- list<dag> pattern=[],
270
- // Workaround bug bz30254
271
- int addrKindCopy = addrKind,
272
- RegisterOperand vdataClassCopy = vdataClass>
267
+ list<dag> pattern=[]>
273
268
: MTBUF_Pseudo<opName,
274
269
(outs),
275
- getMTBUFIns<addrKindCopy , [vdataClassCopy ], hasRestrictedSOffset>.ret,
276
- getMTBUFAsmOps<addrKindCopy >.ret,
270
+ getMTBUFIns<addrKind , [vdataClass ], hasRestrictedSOffset>.ret,
271
+ getMTBUFAsmOps<addrKind >.ret,
277
272
pattern>,
278
- MTBUF_SetupAddr<addrKindCopy > {
279
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
273
+ MTBUF_SetupAddr<addrKind > {
274
+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
280
275
let mayLoad = 0;
281
276
let mayStore = 1;
282
277
let elements = elems;
@@ -492,18 +487,16 @@ class MUBUF_Load_Pseudo <string opName,
492
487
bit isTFE = 0,
493
488
bit hasRestrictedSOffset = 0,
494
489
list<dag> pattern=[],
495
- // Workaround bug bz30254
496
- int addrKindCopy = addrKind,
497
490
RegisterOperand vdata_op = getLdStVDataRegisterOperand<vdata_vt.Size, isTFE>.ret>
498
491
: MUBUF_Pseudo<opName,
499
492
!if(!or(isLds, isLdsOpc), (outs), (outs vdata_op:$vdata)),
500
- !con(getMUBUFIns<addrKindCopy , [], isTFE, hasRestrictedSOffset>.ret,
493
+ !con(getMUBUFIns<addrKind , [], isTFE, hasRestrictedSOffset>.ret,
501
494
!if(HasTiedDest, (ins vdata_op:$vdata_in), (ins))),
502
- getMUBUFAsmOps<addrKindCopy , !or(isLds, isLdsOpc), isLds, isTFE>.ret,
495
+ getMUBUFAsmOps<addrKind , !or(isLds, isLdsOpc), isLds, isTFE>.ret,
503
496
pattern>,
504
- MUBUF_SetupAddr<addrKindCopy > {
497
+ MUBUF_SetupAddr<addrKind > {
505
498
let PseudoInstr = opName # !if(isLds, "_lds", "") # !if(isTFE, "_tfe", "") #
506
- "_" # getAddrName<addrKindCopy >.ret;
499
+ "_" # getAddrName<addrKind >.ret;
507
500
let AsmMatchConverter = "cvtMubuf";
508
501
509
502
let Constraints = !if(HasTiedDest, "$vdata = $vdata_in", "");
@@ -593,17 +586,15 @@ class MUBUF_Store_Pseudo <string opName,
593
586
ValueType store_vt,
594
587
bit isTFE = 0,
595
588
bit hasRestrictedSOffset = 0,
596
- list<dag> pattern=[],
597
- // Workaround bug bz30254
598
- int addrKindCopy = addrKind>
589
+ list<dag> pattern=[]>
599
590
: MUBUF_Pseudo<opName,
600
591
(outs),
601
- getMUBUFIns<addrKindCopy , [getVregSrcForVT<store_vt>.ret], isTFE, hasRestrictedSOffset>.ret,
602
- getMUBUFAsmOps<addrKindCopy , 0, 0, isTFE>.ret,
592
+ getMUBUFIns<addrKind , [getVregSrcForVT<store_vt>.ret], isTFE, hasRestrictedSOffset>.ret,
593
+ getMUBUFAsmOps<addrKind , 0, 0, isTFE>.ret,
603
594
pattern>,
604
- MUBUF_SetupAddr<addrKindCopy > {
595
+ MUBUF_SetupAddr<addrKind > {
605
596
let PseudoInstr = opName # "_" # !if(isTFE, "_tfe", "") #
606
- getAddrName<addrKindCopy >.ret;
597
+ getAddrName<addrKind >.ret;
607
598
let mayLoad = 0;
608
599
let mayStore = 1;
609
600
let elements = getMUBUFElements<store_vt>.ret;
@@ -693,20 +684,18 @@ class getMUBUFAtomicInsDA<RegisterOperand vdata_op, bit vdata_in, bit hasRestric
693
684
class getMUBUFAtomicIns<int addrKind,
694
685
RegisterOperand vdataClass,
695
686
bit vdata_in,
696
- bit hasRestrictedSOffset,
697
- // Workaround bug bz30254
698
- RegisterOperand vdataClassCopy=vdataClass> {
687
+ bit hasRestrictedSOffset> {
699
688
dag ret =
700
689
!if(!eq(addrKind, BUFAddrKind.Offset),
701
- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset>.ret,
690
+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset>.ret,
702
691
!if(!eq(addrKind, BUFAddrKind.OffEn),
703
- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
692
+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
704
693
!if(!eq(addrKind, BUFAddrKind.IdxEn),
705
- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
694
+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
706
695
!if(!eq(addrKind, BUFAddrKind.BothEn),
707
- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
696
+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
708
697
!if(!eq(addrKind, BUFAddrKind.Addr64),
709
- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
698
+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
710
699
(ins))))));
711
700
}
712
701
@@ -715,11 +704,9 @@ class MUBUF_Atomic_Pseudo<string opName,
715
704
dag outs,
716
705
dag ins,
717
706
string asmOps,
718
- list<dag> pattern=[],
719
- // Workaround bug bz30254
720
- int addrKindCopy = addrKind>
707
+ list<dag> pattern=[]>
721
708
: MUBUF_Pseudo<opName, outs, ins, asmOps, pattern>,
722
- MUBUF_SetupAddr<addrKindCopy > {
709
+ MUBUF_SetupAddr<addrKind > {
723
710
let mayStore = 1;
724
711
let mayLoad = 1;
725
712
let hasSideEffects = 1;
@@ -733,16 +720,13 @@ class MUBUF_Atomic_Pseudo<string opName,
733
720
class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
734
721
RegisterOperand vdataClass,
735
722
bit hasRestrictedSOffset = 0,
736
- list<dag> pattern=[],
737
- // Workaround bug bz30254
738
- int addrKindCopy = addrKind,
739
- RegisterOperand vdataClassCopy = vdataClass>
740
- : MUBUF_Atomic_Pseudo<opName, addrKindCopy,
723
+ list<dag> pattern=[]>
724
+ : MUBUF_Atomic_Pseudo<opName, addrKind,
741
725
(outs),
742
- getMUBUFAtomicIns<addrKindCopy, vdataClassCopy , 0, hasRestrictedSOffset>.ret,
743
- getMUBUFAsmOps<addrKindCopy >.ret,
726
+ getMUBUFAtomicIns<addrKind, vdataClass , 0, hasRestrictedSOffset>.ret,
727
+ getMUBUFAsmOps<addrKind >.ret,
744
728
pattern> {
745
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
729
+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
746
730
let glc_value = 0;
747
731
let dlc_value = 0;
748
732
let sccb_value = 0;
@@ -752,16 +736,13 @@ class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
752
736
class MUBUF_AtomicRet_Pseudo<string opName, int addrKind,
753
737
RegisterOperand vdata_op,
754
738
bit hasRestrictedSOffset = 0,
755
- list<dag> pattern=[],
756
- // Workaround bug bz30254
757
- int addrKindCopy = addrKind,
758
- RegisterOperand vdataClassCopy = vdata_op>
759
- : MUBUF_Atomic_Pseudo<opName, addrKindCopy,
739
+ list<dag> pattern=[]>
740
+ : MUBUF_Atomic_Pseudo<opName, addrKind,
760
741
(outs vdata_op:$vdata),
761
- getMUBUFAtomicIns<addrKindCopy, vdataClassCopy , 1, hasRestrictedSOffset>.ret,
762
- getMUBUFAsmOps<addrKindCopy >.ret,
742
+ getMUBUFAtomicIns<addrKind, vdata_op , 1, hasRestrictedSOffset>.ret,
743
+ getMUBUFAsmOps<addrKind >.ret,
763
744
pattern> {
764
- let PseudoInstr = opName # "_rtn_" # getAddrName<addrKindCopy >.ret;
745
+ let PseudoInstr = opName # "_rtn_" # getAddrName<addrKind >.ret;
765
746
let glc_value = 1;
766
747
let dlc_value = 0;
767
748
let sccb_value = 0;
0 commit comments