@@ -219,16 +219,14 @@ class MTBUF_Load_Pseudo <string opName,
219219 RegisterOperand vdataClass,
220220 int elems,
221221 bit hasRestrictedSOffset = 0,
222- list<dag> pattern=[],
223- // Workaround bug bz30254
224- int addrKindCopy = addrKind>
222+ list<dag> pattern=[]>
225223 : MTBUF_Pseudo<opName,
226224 (outs vdataClass:$vdata),
227- getMTBUFIns<addrKindCopy , [], hasRestrictedSOffset>.ret,
228- getMTBUFAsmOps<addrKindCopy >.ret,
225+ getMTBUFIns<addrKind , [], hasRestrictedSOffset>.ret,
226+ getMTBUFAsmOps<addrKind >.ret,
229227 pattern>,
230- MTBUF_SetupAddr<addrKindCopy > {
231- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
228+ MTBUF_SetupAddr<addrKind > {
229+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
232230 let mayLoad = 1;
233231 let mayStore = 0;
234232 let elements = elems;
@@ -266,17 +264,14 @@ class MTBUF_Store_Pseudo <string opName,
266264 RegisterOperand vdataClass,
267265 int elems,
268266 bit hasRestrictedSOffset = 0,
269- list<dag> pattern=[],
270- // Workaround bug bz30254
271- int addrKindCopy = addrKind,
272- RegisterOperand vdataClassCopy = vdataClass>
267+ list<dag> pattern=[]>
273268 : MTBUF_Pseudo<opName,
274269 (outs),
275- getMTBUFIns<addrKindCopy , [vdataClassCopy ], hasRestrictedSOffset>.ret,
276- getMTBUFAsmOps<addrKindCopy >.ret,
270+ getMTBUFIns<addrKind , [vdataClass ], hasRestrictedSOffset>.ret,
271+ getMTBUFAsmOps<addrKind >.ret,
277272 pattern>,
278- MTBUF_SetupAddr<addrKindCopy > {
279- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
273+ MTBUF_SetupAddr<addrKind > {
274+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
280275 let mayLoad = 0;
281276 let mayStore = 1;
282277 let elements = elems;
@@ -492,18 +487,16 @@ class MUBUF_Load_Pseudo <string opName,
492487 bit isTFE = 0,
493488 bit hasRestrictedSOffset = 0,
494489 list<dag> pattern=[],
495- // Workaround bug bz30254
496- int addrKindCopy = addrKind,
497490 RegisterOperand vdata_op = getLdStVDataRegisterOperand<vdata_vt.Size, isTFE>.ret>
498491 : MUBUF_Pseudo<opName,
499492 !if(!or(isLds, isLdsOpc), (outs), (outs vdata_op:$vdata)),
500- !con(getMUBUFIns<addrKindCopy , [], isTFE, hasRestrictedSOffset>.ret,
493+ !con(getMUBUFIns<addrKind , [], isTFE, hasRestrictedSOffset>.ret,
501494 !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,
503496 pattern>,
504- MUBUF_SetupAddr<addrKindCopy > {
497+ MUBUF_SetupAddr<addrKind > {
505498 let PseudoInstr = opName # !if(isLds, "_lds", "") # !if(isTFE, "_tfe", "") #
506- "_" # getAddrName<addrKindCopy >.ret;
499+ "_" # getAddrName<addrKind >.ret;
507500 let AsmMatchConverter = "cvtMubuf";
508501
509502 let Constraints = !if(HasTiedDest, "$vdata = $vdata_in", "");
@@ -593,17 +586,15 @@ class MUBUF_Store_Pseudo <string opName,
593586 ValueType store_vt,
594587 bit isTFE = 0,
595588 bit hasRestrictedSOffset = 0,
596- list<dag> pattern=[],
597- // Workaround bug bz30254
598- int addrKindCopy = addrKind>
589+ list<dag> pattern=[]>
599590 : MUBUF_Pseudo<opName,
600591 (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,
603594 pattern>,
604- MUBUF_SetupAddr<addrKindCopy > {
595+ MUBUF_SetupAddr<addrKind > {
605596 let PseudoInstr = opName # "_" # !if(isTFE, "_tfe", "") #
606- getAddrName<addrKindCopy >.ret;
597+ getAddrName<addrKind >.ret;
607598 let mayLoad = 0;
608599 let mayStore = 1;
609600 let elements = getMUBUFElements<store_vt>.ret;
@@ -693,20 +684,18 @@ class getMUBUFAtomicInsDA<RegisterOperand vdata_op, bit vdata_in, bit hasRestric
693684class getMUBUFAtomicIns<int addrKind,
694685 RegisterOperand vdataClass,
695686 bit vdata_in,
696- bit hasRestrictedSOffset,
697- // Workaround bug bz30254
698- RegisterOperand vdataClassCopy=vdataClass> {
687+ bit hasRestrictedSOffset> {
699688 dag ret =
700689 !if(!eq(addrKind, BUFAddrKind.Offset),
701- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset>.ret,
690+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset>.ret,
702691 !if(!eq(addrKind, BUFAddrKind.OffEn),
703- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
692+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
704693 !if(!eq(addrKind, BUFAddrKind.IdxEn),
705- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
694+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
706695 !if(!eq(addrKind, BUFAddrKind.BothEn),
707- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
696+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
708697 !if(!eq(addrKind, BUFAddrKind.Addr64),
709- getMUBUFAtomicInsDA<vdataClassCopy , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
698+ getMUBUFAtomicInsDA<vdataClass , vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
710699 (ins))))));
711700}
712701
@@ -715,11 +704,9 @@ class MUBUF_Atomic_Pseudo<string opName,
715704 dag outs,
716705 dag ins,
717706 string asmOps,
718- list<dag> pattern=[],
719- // Workaround bug bz30254
720- int addrKindCopy = addrKind>
707+ list<dag> pattern=[]>
721708 : MUBUF_Pseudo<opName, outs, ins, asmOps, pattern>,
722- MUBUF_SetupAddr<addrKindCopy > {
709+ MUBUF_SetupAddr<addrKind > {
723710 let mayStore = 1;
724711 let mayLoad = 1;
725712 let hasSideEffects = 1;
@@ -733,16 +720,13 @@ class MUBUF_Atomic_Pseudo<string opName,
733720class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
734721 RegisterOperand vdataClass,
735722 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,
741725 (outs),
742- getMUBUFAtomicIns<addrKindCopy, vdataClassCopy , 0, hasRestrictedSOffset>.ret,
743- getMUBUFAsmOps<addrKindCopy >.ret,
726+ getMUBUFAtomicIns<addrKind, vdataClass , 0, hasRestrictedSOffset>.ret,
727+ getMUBUFAsmOps<addrKind >.ret,
744728 pattern> {
745- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy >.ret;
729+ let PseudoInstr = opName # "_" # getAddrName<addrKind >.ret;
746730 let glc_value = 0;
747731 let dlc_value = 0;
748732 let sccb_value = 0;
@@ -752,16 +736,13 @@ class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
752736class MUBUF_AtomicRet_Pseudo<string opName, int addrKind,
753737 RegisterOperand vdata_op,
754738 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,
760741 (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,
763744 pattern> {
764- let PseudoInstr = opName # "_rtn_" # getAddrName<addrKindCopy >.ret;
745+ let PseudoInstr = opName # "_rtn_" # getAddrName<addrKind >.ret;
765746 let glc_value = 1;
766747 let dlc_value = 0;
767748 let sccb_value = 0;
0 commit comments