[llvm] 6bdd254 - [AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 23 02:06:25 PST 2024
Author: Jay Foad
Date: 2024-12-23T10:06:21Z
New Revision: 6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
URL: https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
DIFF: https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e.diff
LOG: [AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)
Added:
Modified:
llvm/lib/Target/AMDGPU/MIMGInstructions.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/MIMGInstructions.td b/llvm/lib/Target/AMDGPU/MIMGInstructions.td
index a16a175dc94ab0..4722d3362f6a30 100644
--- a/llvm/lib/Target/AMDGPU/MIMGInstructions.td
+++ b/llvm/lib/Target/AMDGPU/MIMGInstructions.td
@@ -971,7 +971,7 @@ class MIMG_Atomic_nsa_gfx11<mimgopc op, string opcode,
}
class VIMAGE_Atomic_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
- int num_addrs, bit enableDisasm = 0>
+ int num_addrs, string renamed, bit enableDisasm = 0>
: VIMAGE_gfx12<op.GFX12, (outs DataRC:$vdst), num_addrs,
!if(enableDisasm, "GFX12", "")> {
let Constraints = "$vdst = $vdata";
@@ -980,14 +980,10 @@ class VIMAGE_Atomic_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
AddrIns,
(ins SReg_256:$rsrc, DMask:$dmask, Dim:$dim,
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe));
- let AsmString = opcode#" $vdata, "#AddrAsm#", $rsrc$dmask$dim$cpol$r128$a16$tfe";
+ let AsmString = !if(!empty(renamed), opcode, renamed)#" $vdata, "#AddrAsm#
+ ", $rsrc$dmask$dim$cpol$r128$a16$tfe";
}
-class VIMAGE_Atomic_gfx12_Renamed<mimgopc op, string renamed,
- RegisterClass DataRC, int num_addrs,
- bit enableDisasm = 0>
- : VIMAGE_Atomic_gfx12<op, renamed, DataRC, num_addrs, enableDisasm>;
-
multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
RegisterClass data_rc,
bit enableDasm = 0,
@@ -1014,10 +1010,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
}
}
if op.HAS_GFX12 then {
- if !empty(renamed) then
- def _V1_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 1>;
- else
- def _V1_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 1>;
+ def _V1_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 1, renamed>;
}
}
let VAddrDwords = 2 in {
@@ -1039,10 +1032,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
}
}
if op.HAS_GFX12 then {
- if !empty(renamed) then
- def _V2_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 2, 0>;
- else
- def _V2_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 2, 0>;
+ def _V2_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 2, renamed>;
}
}
let VAddrDwords = 3 in {
@@ -1064,10 +1054,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
}
}
if op.HAS_GFX12 then {
- if !empty(renamed) then
- def _V3_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 3, 0>;
- else
- def _V3_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 3, 0>;
+ def _V3_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 3, renamed>;
}
}
let VAddrDwords = 4 in {
@@ -1089,10 +1076,7 @@ multiclass MIMG_Atomic_Addr_Helper_m <mimgopc op, string asm,
}
}
if op.HAS_GFX12 then {
- if !empty(renamed) then
- def _V4_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 4, enableDasm>;
- else
- def _V4_gfx12 : VIMAGE_Atomic_gfx12_Renamed <op, renamed, data_rc, 4, enableDasm>;
+ def _V4_gfx12 : VIMAGE_Atomic_gfx12 <op, asm, data_rc, 4, renamed, enableDasm>;
}
}
}
More information about the llvm-commits
mailing list