@@ -747,8 +747,7 @@ class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
747
747
(outs),
748
748
getMUBUFAtomicIns<addrKindCopy, vdataClassCopy, 0, hasRestrictedSOffset>.ret,
749
749
getMUBUFAsmOps<addrKindCopy>.ret,
750
- pattern>,
751
- AtomicNoRet<opName # "_" # getAddrName<addrKindCopy>.ret, 0> {
750
+ pattern> {
752
751
let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
753
752
let glc_value = 0;
754
753
let dlc_value = 0;
@@ -768,8 +767,7 @@ class MUBUF_AtomicRet_Pseudo<string opName, int addrKind,
768
767
(outs vdata_op:$vdata),
769
768
getMUBUFAtomicIns<addrKindCopy, vdataClassCopy, 1, hasRestrictedSOffset>.ret,
770
769
getMUBUFAsmOps<addrKindCopy>.ret,
771
- pattern>,
772
- AtomicNoRet<opName # "_" # getAddrName<addrKindCopy>.ret, 1> {
770
+ pattern> {
773
771
let PseudoInstr = opName # "_rtn_" # getAddrName<addrKindCopy>.ret;
774
772
let glc_value = 1;
775
773
let dlc_value = 0;
@@ -2511,34 +2509,26 @@ multiclass MUBUF_Real_Atomic_gfx11_Renamed_impl<bits<8> op, bit is_return,
2511
2509
string real_name> {
2512
2510
defvar Rtn = !if(is_return, "_RTN", "");
2513
2511
def _BOTHEN#Rtn#_gfx11 :
2514
- MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_BOTHEN" # Rtn, real_name>,
2515
- AtomicNoRet<NAME # "_BOTHEN_gfx11", is_return>;
2512
+ MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_BOTHEN" # Rtn, real_name>;
2516
2513
def _IDXEN#Rtn#_gfx11 :
2517
- MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_IDXEN" # Rtn, real_name>,
2518
- AtomicNoRet<NAME # "_IDXEN_gfx11", is_return>;
2514
+ MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_IDXEN" # Rtn, real_name>;
2519
2515
def _OFFEN#Rtn#_gfx11 :
2520
- MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFEN" # Rtn, real_name>,
2521
- AtomicNoRet<NAME # "_OFFEN_gfx11", is_return>;
2516
+ MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFEN" # Rtn, real_name>;
2522
2517
def _OFFSET#Rtn#_gfx11 :
2523
- MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFSET" # Rtn, real_name>,
2524
- AtomicNoRet<NAME # "_OFFSET_gfx11", is_return>;
2518
+ MUBUF_Real_Atomic_gfx11_impl<op, NAME # "_OFFSET" # Rtn, real_name>;
2525
2519
}
2526
2520
2527
2521
multiclass MUBUF_Real_Atomic_gfx12_Renamed_impl<bits<8> op, bit is_return,
2528
2522
string real_name> {
2529
2523
defvar Rtn = !if(is_return, "_RTN", "");
2530
2524
def _BOTHEN#Rtn#_gfx12 :
2531
- MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_BOTHEN" # Rtn, real_name>,
2532
- AtomicNoRet<NAME # "_BOTHEN_gfx12", is_return>;
2525
+ MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_BOTHEN" # Rtn, real_name>;
2533
2526
def _IDXEN#Rtn#_gfx12 :
2534
- MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_IDXEN" # Rtn, real_name>,
2535
- AtomicNoRet<NAME # "_IDXEN_gfx12", is_return>;
2527
+ MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_IDXEN" # Rtn, real_name>;
2536
2528
def _OFFEN#Rtn#_gfx12 :
2537
- MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_OFFEN" # Rtn, real_name>,
2538
- AtomicNoRet<NAME # "_OFFEN_gfx12", is_return>;
2529
+ MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_OFFEN" # Rtn, real_name>;
2539
2530
def _OFFSET#Rtn#_gfx12 :
2540
- MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_OFFSET" # Rtn, real_name>,
2541
- AtomicNoRet<NAME # "_OFFSET_gfx12", is_return>;
2531
+ MUBUF_Real_Atomic_gfx12_impl<op, NAME # "_VBUFFER_OFFSET" # Rtn, real_name>;
2542
2532
}
2543
2533
2544
2534
multiclass MUBUF_Real_Atomic_gfx11_gfx12_Renamed_impl<bits<8> op, bit is_return,
@@ -2695,32 +2685,24 @@ multiclass MUBUF_Real_AllAddr_Lds_gfx10<bits<8> op, bit isTFE = 0> {
2695
2685
}
2696
2686
multiclass MUBUF_Real_Atomics_RTN_gfx10<bits<8> op> {
2697
2687
def _BOTHEN_RTN_gfx10 :
2698
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN_RTN")>,
2699
- AtomicNoRet<NAME # "_BOTHEN_gfx10", 1>;
2688
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN_RTN")>;
2700
2689
def _IDXEN_RTN_gfx10 :
2701
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN_RTN")>,
2702
- AtomicNoRet<NAME # "_IDXEN_gfx10", 1>;
2690
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN_RTN")>;
2703
2691
def _OFFEN_RTN_gfx10 :
2704
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN_RTN")>,
2705
- AtomicNoRet<NAME # "_OFFEN_gfx10", 1>;
2692
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN_RTN")>;
2706
2693
def _OFFSET_RTN_gfx10 :
2707
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET_RTN")>,
2708
- AtomicNoRet<NAME # "_OFFSET_gfx10", 1>;
2694
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET_RTN")>;
2709
2695
}
2710
2696
multiclass MUBUF_Real_Atomics_gfx10<bits<8> op> :
2711
2697
MUBUF_Real_Atomics_RTN_gfx10<op> {
2712
2698
def _BOTHEN_gfx10 :
2713
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>,
2714
- AtomicNoRet<NAME # "_BOTHEN_gfx10", 0>;
2699
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>;
2715
2700
def _IDXEN_gfx10 :
2716
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN")>,
2717
- AtomicNoRet<NAME # "_IDXEN_gfx10", 0>;
2701
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN")>;
2718
2702
def _OFFEN_gfx10 :
2719
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN")>,
2720
- AtomicNoRet<NAME # "_OFFEN_gfx10", 0>;
2703
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN")>;
2721
2704
def _OFFSET_gfx10 :
2722
- MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET")>,
2723
- AtomicNoRet<NAME # "_OFFSET_gfx10", 0>;
2705
+ MUBUF_Real_gfx10<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET")>;
2724
2706
}
2725
2707
2726
2708
defm BUFFER_STORE_BYTE_D16_HI : MUBUF_Real_AllAddr_gfx10<0x019>;
@@ -2795,36 +2777,26 @@ multiclass MUBUF_Real_AllAddr_Lds_gfx6_gfx7<bits<8> op, bit isTFE = 0> {
2795
2777
}
2796
2778
multiclass MUBUF_Real_Atomics_gfx6_gfx7<bits<8> op> {
2797
2779
def _ADDR64_gfx6_gfx7 :
2798
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_ADDR64")>,
2799
- AtomicNoRet<NAME # "_ADDR64_gfx6_gfx7", 0>;
2780
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_ADDR64")>;
2800
2781
def _BOTHEN_gfx6_gfx7 :
2801
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>,
2802
- AtomicNoRet<NAME # "_BOTHEN_gfx6_gfx7", 0>;
2782
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN")>;
2803
2783
def _IDXEN_gfx6_gfx7 :
2804
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN")>,
2805
- AtomicNoRet<NAME # "_IDXEN_gfx6_gfx7", 0>;
2784
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN")>;
2806
2785
def _OFFEN_gfx6_gfx7 :
2807
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN")>,
2808
- AtomicNoRet<NAME # "_OFFEN_gfx6_gfx7", 0>;
2786
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN")>;
2809
2787
def _OFFSET_gfx6_gfx7 :
2810
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET")>,
2811
- AtomicNoRet<NAME # "_OFFSET_gfx6_gfx7", 0>;
2788
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET")>;
2812
2789
2813
2790
def _ADDR64_RTN_gfx6_gfx7 :
2814
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_ADDR64_RTN")>,
2815
- AtomicNoRet<NAME # "_ADDR64_gfx6_gfx7", 1>;
2791
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_ADDR64_RTN")>;
2816
2792
def _BOTHEN_RTN_gfx6_gfx7 :
2817
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN_RTN")>,
2818
- AtomicNoRet<NAME # "_BOTHEN_gfx6_gfx7", 1>;
2793
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_BOTHEN_RTN")>;
2819
2794
def _IDXEN_RTN_gfx6_gfx7 :
2820
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN_RTN")>,
2821
- AtomicNoRet<NAME # "_IDXEN_gfx6_gfx7", 1>;
2795
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_IDXEN_RTN")>;
2822
2796
def _OFFEN_RTN_gfx6_gfx7 :
2823
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN_RTN")>,
2824
- AtomicNoRet<NAME # "_OFFEN_gfx6_gfx7", 1>;
2797
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFEN_RTN")>;
2825
2798
def _OFFSET_RTN_gfx6_gfx7 :
2826
- MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET_RTN")>,
2827
- AtomicNoRet<NAME # "_OFFSET_gfx6_gfx7", 1>;
2799
+ MUBUF_Real_gfx6_gfx7<op, !cast<MUBUF_Pseudo>(NAME#"_OFFSET_RTN")>;
2828
2800
}
2829
2801
2830
2802
multiclass MUBUF_Real_AllAddr_gfx6_gfx7_gfx10<bits<8> op> :
@@ -3081,9 +3053,7 @@ class MUBUF_Real_Base_vi <bits<7> op, MUBUF_Pseudo ps, int Enc,
3081
3053
bit has_sccb = ps.has_sccb> :
3082
3054
MUBUF_Real<ps>,
3083
3055
Enc64,
3084
- SIMCInstr<ps.PseudoInstr, Enc>,
3085
- AtomicNoRet<!subst("_RTN","",NAME), !if(ps.IsAtomicNoRet, 0,
3086
- !if(ps.IsAtomicRet, 1, ?))> {
3056
+ SIMCInstr<ps.PseudoInstr, Enc> {
3087
3057
3088
3058
let Inst{11-0} = !if(ps.has_offset, offset, ?);
3089
3059
let Inst{12} = ps.offen;
0 commit comments