@@ -971,7 +971,7 @@ class MIMG_Atomic_nsa_gfx11<mimgopc op, string opcode,
971
971
}
972
972
973
973
class VIMAGE_Atomic_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
974
- int num_addrs, bit enableDisasm = 0>
974
+ int num_addrs, string renamed, bit enableDisasm = 0>
975
975
: VIMAGE_gfx12<op.GFX12, (outs DataRC:$vdst), num_addrs,
976
976
!if(enableDisasm, "GFX12", "")> {
977
977
let Constraints = "$vdst = $vdata";
@@ -980,14 +980,10 @@ class VIMAGE_Atomic_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
980
980
AddrIns,
981
981
(ins SReg_256:$rsrc, DMask:$dmask, Dim:$dim,
982
982
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe));
983
- let AsmString = opcode#" $vdata, "#AddrAsm#", $rsrc$dmask$dim$cpol$r128$a16$tfe";
983
+ let AsmString = !if(!empty(renamed), opcode, renamed)#" $vdata, "#AddrAsm#
984
+ ", $rsrc$dmask$dim$cpol$r128$a16$tfe";
984
985
}
985
986
986
- class VIMAGE_Atomic_gfx12_Renamed<mimgopc op, string renamed,
987
- RegisterClass DataRC, int num_addrs,
988
- bit enableDisasm = 0>
989
- : VIMAGE_Atomic_gfx12<op, renamed, DataRC, num_addrs, enableDisasm>;
990
-
991
987
multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
992
988
RegisterClass data_rc,
993
989
bit enableDasm = 0,
@@ -1014,10 +1010,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
1014
1010
}
1015
1011
}
1016
1012
if op.HAS_GFX12 then {
1017
- if !empty(renamed) then
1018
- def _V1_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 1>;
1019
- else
1020
- def _V1_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 1>;
1013
+ def _V1_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 1, renamed>;
1021
1014
}
1022
1015
}
1023
1016
let VAddrDwords = 2 in {
@@ -1039,10 +1032,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
1039
1032
}
1040
1033
}
1041
1034
if op.HAS_GFX12 then {
1042
- if !empty(renamed) then
1043
- def _V2_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 2, 0>;
1044
- else
1045
- def _V2_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 2, 0>;
1035
+ def _V2_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 2, renamed>;
1046
1036
}
1047
1037
}
1048
1038
let VAddrDwords = 3 in {
@@ -1064,10 +1054,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
1064
1054
}
1065
1055
}
1066
1056
if op.HAS_GFX12 then {
1067
- if !empty(renamed) then
1068
- def _V3_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 3, 0>;
1069
- else
1070
- def _V3_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 3, 0>;
1057
+ def _V3_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 3, renamed>;
1071
1058
}
1072
1059
}
1073
1060
let VAddrDwords = 4 in {
@@ -1089,10 +1076,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
1089
1076
}
1090
1077
}
1091
1078
if op.HAS_GFX12 then {
1092
- if !empty(renamed) then
1093
- def _V4_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 4, enableDasm>;
1094
- else
1095
- def _V4_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 4, enableDasm>;
1079
+ def _V4_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 4, renamed, enableDasm>;
1096
1080
}
1097
1081
}
1098
1082
}
0 commit comments