Skip to content

Commit 78defc8

Browse files
authored
[AMDGPU] Add support for HW_REG_WAVE_SCHED_MODE (#169840)
Expose HW_REG_WAVE_SCHED_MODE to the s_getreg_b32, s_setreg_b32, s_setreg_imm32_b32 instructions.
1 parent a5dba76 commit 78defc8

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

llvm/lib/Target/AMDGPU/SIDefines.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,7 @@ enum Id { // HwRegCode, (6) [5:0]
523523
ID_HW_ID1 = 23,
524524
ID_HW_ID2 = 24,
525525
ID_POPS_PACKER = 25,
526+
ID_SCHED_MODE = 26,
526527
ID_PERF_SNAPSHOT_DATA_gfx11 = 27,
527528
ID_IB_STS2 = 28,
528529
ID_SHADER_CYCLES = 29,

llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ static constexpr CustomOperand Operands[] = {
211211
{{"HW_REG_HW_ID2"}, ID_HW_ID2, isGFX10Plus},
212212
{{"HW_REG_SQ_PERF_SNAPSHOT_PC_HI"}, ID_SQ_PERF_SNAPSHOT_PC_HI, isGFX940},
213213
{{"HW_REG_POPS_PACKER"}, ID_POPS_PACKER, isGFX10},
214+
{{"HW_REG_WAVE_SCHED_MODE"}, ID_SCHED_MODE, isGFX12Plus},
214215
{{"HW_REG_PERF_SNAPSHOT_DATA"}, ID_PERF_SNAPSHOT_DATA_gfx11, isGFX11},
215216
{{"HW_REG_IB_STS2"}, ID_IB_STS2, isGFX1250},
216217
{{"HW_REG_SHADER_CYCLES"}, ID_SHADER_CYCLES, isGFX10_3_GFX11},

llvm/test/MC/AMDGPU/gfx12_asm_sopk.s

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,3 +258,12 @@ s_getreg_b32 s0, hwreg(HW_REG_SHADER_CYCLES_LO)
258258

259259
s_getreg_b32 s0, hwreg(HW_REG_SHADER_CYCLES_HI)
260260
// GFX12: encoding: [0x1e,0xf8,0x80,0xb8]
261+
262+
s_getreg_b32 s0, hwreg(HW_REG_WAVE_SCHED_MODE)
263+
// GFX12: encoding: [0x1a,0xf8,0x80,0xb8]
264+
265+
s_setreg_b32 hwreg(HW_REG_WAVE_SCHED_MODE, 0, 2), s2
266+
// GFX12: encoding: [0x1a,0x08,0x02,0xb9]
267+
268+
s_setreg_imm32_b32 hwreg(HW_REG_WAVE_SCHED_MODE), 0x2
269+
// GFX12: encoding: [0x1a,0xf8,0x80,0xb9,0x02,0x00,0x00,0x00]

llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,3 +276,12 @@
276276

277277
# GFX12: s_getreg_b32 s0, hwreg(HW_REG_SHADER_CYCLES_HI) ; encoding: [0x1e,0xf8,0x80,0xb8]
278278
0x1e,0xf8,0x80,0xb8
279+
280+
# GFX12: s_getreg_b32 s0, hwreg(HW_REG_WAVE_SCHED_MODE) ; encoding: [0x1a,0xf8,0x80,0xb8]
281+
0x1a,0xf8,0x80,0xb8
282+
283+
# GFX12: s_setreg_b32 hwreg(HW_REG_WAVE_SCHED_MODE, 0, 2), s2 ; encoding: [0x1a,0x08,0x02,0xb9]
284+
0x1a,0x08,0x02,0xb9
285+
286+
# GFX12: s_setreg_imm32_b32 hwreg(HW_REG_WAVE_SCHED_MODE), 2 ; encoding: [0x1a,0xf8,0x80,0xb9,0x02,0x00,0x00,0x00]
287+
0x1a,0xf8,0x80,0xb9,0x02,0x00,0x00,0x00

0 commit comments

Comments
 (0)