Skip to content

Commit 0b0e528

Browse files
authored
[AMDGPU] Fix GFX11 sendmsg codes (#85299)
The code MSG_RTN_GET_TBA_TO_PC was missing, and the next code is off by 1 as a result.
1 parent f4335f0 commit 0b0e528

File tree

6 files changed

+17
-3
lines changed

6 files changed

+17
-3
lines changed

llvm/lib/Target/AMDGPU/SIDefines.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,8 @@ enum Id { // Message ID, width(4) [3:0].
460460
ID_RTN_GET_REALTIME = 131,
461461
ID_RTN_SAVE_WAVE = 132,
462462
ID_RTN_GET_TBA = 133,
463-
ID_RTN_GET_SE_AID_ID = 134,
463+
ID_RTN_GET_TBA_TO_PC = 134,
464+
ID_RTN_GET_SE_AID_ID = 135,
464465

465466
ID_MASK_PreGFX11_ = 0xF,
466467
ID_MASK_GFX11Plus_ = 0xFF

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ const CustomOperand<const MCSubtargetInfo &> Msg[] = {
6060
{{"MSG_RTN_GET_REALTIME"}, ID_RTN_GET_REALTIME, isGFX11Plus},
6161
{{"MSG_RTN_SAVE_WAVE"}, ID_RTN_SAVE_WAVE, isGFX11Plus},
6262
{{"MSG_RTN_GET_TBA"}, ID_RTN_GET_TBA, isGFX11Plus},
63+
{{"MSG_RTN_GET_TBA_TO_PC"}, ID_RTN_GET_TBA_TO_PC, isGFX11Plus},
6364
{{"MSG_RTN_GET_SE_AID_ID"}, ID_RTN_GET_SE_AID_ID, isGFX12Plus},
6465
};
6566
// clang-format on

llvm/test/MC/AMDGPU/gfx11_asm_sop1.s

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2964,6 +2964,9 @@ s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_SAVE_WAVE)
29642964
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA)
29652965
// GFX11: encoding: [0x85,0x4c,0x80,0xbe]
29662966

2967+
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA_TO_PC)
2968+
// GFX11: encoding: [0x86,0x4c,0x80,0xbe]
2969+
29672970
s_ctz_i32_b32 s5, s1
29682971
// GFX11: encoding: [0x01,0x08,0x85,0xbe]
29692972

llvm/test/MC/AMDGPU/gfx12_asm_sop1.s

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3708,9 +3708,12 @@ s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_SAVE_WAVE)
37083708
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA)
37093709
// GFX12: encoding: [0x85,0x4c,0x80,0xbe]
37103710

3711-
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_SE_AID_ID)
3711+
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA_TO_PC)
37123712
// GFX12: encoding: [0x86,0x4c,0x80,0xbe]
37133713

3714+
s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_SE_AID_ID)
3715+
// GFX12: encoding: [0x87,0x4c,0x80,0xbe]
3716+
37143717
s_ctz_i32_b32 s5, s1
37153718
// GFX12: encoding: [0x01,0x08,0x85,0xbe]
37163719

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2536,6 +2536,9 @@
25362536
# GFX11: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA) ; encoding: [0x85,0x4c,0x80,0xbe]
25372537
0x85,0x4c,0x80,0xbe
25382538

2539+
# GFX11: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA_TO_PC) ; encoding: [0x86,0x4c,0x80,0xbe]
2540+
0x86,0x4c,0x80,0xbe
2541+
25392542
# GFX11: s_setpc_b64 s[0:1] ; encoding: [0x00,0x48,0x80,0xbe]
25402543
0x00,0x48,0x80,0xbe
25412544

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3279,9 +3279,12 @@
32793279
# GFX12: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA) ; encoding: [0x85,0x4c,0x80,0xbe]
32803280
0x85,0x4c,0x80,0xbe
32813281

3282-
# GFX12: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_SE_AID_ID) ; encoding: [0x86,0x4c,0x80,0xbe]
3282+
# GFX12: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA_TO_PC) ; encoding: [0x86,0x4c,0x80,0xbe]
32833283
0x86,0x4c,0x80,0xbe
32843284

3285+
# GFX12: s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_SE_AID_ID) ; encoding: [0x87,0x4c,0x80,0xbe]
3286+
0x87,0x4c,0x80,0xbe
3287+
32853288
# GFX12: s_setpc_b64 s[0:1] ; encoding: [0x00,0x48,0x80,0xbe]
32863289
0x00,0x48,0x80,0xbe
32873290

0 commit comments

Comments
 (0)