# RUN: llvm-mc -triple=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck -strict-whitespace %s
# CHECK: s_nop 0x3141 ; encoding: [0x41,0x31,0x80,0xbf]
0x41,0x31,0x80,0xbf
# CHECK: s_nop 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xbf]
0xd1,0xc1,0x80,0xbf
# CHECK: s_endpgm ; encoding: [0x00,0x00,0x81,0xbf]
0x00,0x00,0x81,0xbf
# CHECK: s_endpgm 1 ; encoding: [0x01,0x00,0x81,0xbf]
0x01,0x00,0x81,0xbf
# CHECK: s_endpgm 65535 ; encoding: [0xff,0xff,0x81,0xbf]
0xff,0xff,0x81,0xbf
# CHECK: s_branch 12609 ; encoding: [0x41,0x31,0x82,0xbf]
0x41,0x31,0x82,0xbf
# CHECK: s_branch 49617 ; encoding: [0xd1,0xc1,0x82,0xbf]
0xd1,0xc1,0x82,0xbf
# CHECK: s_wakeup ; encoding: [0x00,0x00,0x83,0xbf]
0x00,0x00,0x83,0xbf
# CHECK: s_cbranch_scc0 12609 ; encoding: [0x41,0x31,0x84,0xbf]
0x41,0x31,0x84,0xbf
# CHECK: s_cbranch_scc0 49617 ; encoding: [0xd1,0xc1,0x84,0xbf]
0xd1,0xc1,0x84,0xbf
# CHECK: s_cbranch_scc1 12609 ; encoding: [0x41,0x31,0x85,0xbf]
0x41,0x31,0x85,0xbf
# CHECK: s_cbranch_scc1 49617 ; encoding: [0xd1,0xc1,0x85,0xbf]
0xd1,0xc1,0x85,0xbf
# CHECK: s_cbranch_vccz 12609 ; encoding: [0x41,0x31,0x86,0xbf]
0x41,0x31,0x86,0xbf
# CHECK: s_cbranch_vccz 49617 ; encoding: [0xd1,0xc1,0x86,0xbf]
0xd1,0xc1,0x86,0xbf
# CHECK: s_cbranch_vccnz 12609 ; encoding: [0x41,0x31,0x87,0xbf]
0x41,0x31,0x87,0xbf
# CHECK: s_cbranch_vccnz 49617 ; encoding: [0xd1,0xc1,0x87,0xbf]
0xd1,0xc1,0x87,0xbf
# CHECK: s_cbranch_execz 12609 ; encoding: [0x41,0x31,0x88,0xbf]
0x41,0x31,0x88,0xbf
# CHECK: s_cbranch_execz 49617 ; encoding: [0xd1,0xc1,0x88,0xbf]
0xd1,0xc1,0x88,0xbf
# CHECK: s_cbranch_execnz 12609 ; encoding: [0x41,0x31,0x89,0xbf]
0x41,0x31,0x89,0xbf
# CHECK: s_cbranch_execnz 49617 ; encoding: [0xd1,0xc1,0x89,0xbf]
0xd1,0xc1,0x89,0xbf
# CHECK: s_barrier ; encoding: [0x00,0x00,0x8a,0xbf]
0x00,0x00,0x8a,0xbf
# CHECK: s_setkill 0x3141 ; encoding: [0x41,0x31,0x8b,0xbf]
0x41,0x31,0x8b,0xbf
# CHECK: s_setkill 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf]
0xd1,0xc1,0x8b,0xbf
# CHECK: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
0x00 0x00 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
0x00 0x00 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
0x00 0x00 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
0x00 0x00 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(1) ; encoding: [0x71,0x0f,0x8c,0xbf]
0x71 0x0f 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf]
0x79 0x0f 0x8c 0xbf
# CHECK: s_waitcnt expcnt(2) ; encoding: [0x2f,0x0f,0x8c,0xbf]
0x2f 0x0f 0x8c 0xbf
# CHECK: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0x03,0x8c,0xbf]
0x7f 0x03 0x8c 0xbf
# CHECK: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0x09,0x8c,0xbf]
0x7f 0x09 0x8c 0xbf
# CHECK: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0x00,0x0f,0x8c,0xbf]
0x00 0x0f 0x8c 0xbf
# CHECK: s_sethalt 0x3141 ; encoding: [0x41,0x31,0x8d,0xbf]
0x41,0x31,0x8d,0xbf
# CHECK: s_sethalt 0xc1d1 ; encoding: [0xd1,0xc1,0x8d,0xbf]
0xd1,0xc1,0x8d,0xbf
# CHECK: s_sleep 0x3141 ; encoding: [0x41,0x31,0x8e,0xbf]
0x41,0x31,0x8e,0xbf
# CHECK: s_sleep 0xc1d1 ; encoding: [0xd1,0xc1,0x8e,0xbf]
0xd1,0xc1,0x8e,0xbf
# CHECK: s_setprio 0x3141 ; encoding: [0x41,0x31,0x8f,0xbf]
0x41,0x31,0x8f,0xbf
# CHECK: s_setprio 0xc1d1 ; encoding: [0xd1,0xc1,0x8f,0xbf]
0xd1,0xc1,0x8f,0xbf
# CHECK: s_sendmsg sendmsg(2, 0, 0) ; encoding: [0x02,0x00,0x90,0xbf]
0x02 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_INTERRUPT) ; encoding: [0x01,0x00,0x90,0xbf]
0x01 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0) ; encoding: [0x12,0x00,0x90,0xbf]
0x12 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x90,0xbf]
0x22 0x01 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT_CUT, 2) ; encoding: [0x32,0x02,0x90,0xbf]
0x32 0x02 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x90,0xbf]
0x03 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_SAVEWAVE) ; encoding: [0x04,0x00,0x90,0xbf]
0x04 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(11, 0, 0) ; encoding: [0x0b,0x00,0x90,0xbf]
0x0b 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT) ; encoding: [0x1f,0x00,0x90,0xbf]
0x1f 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(15, 6, 0) ; encoding: [0x6f,0x00,0x90,0xbf]
0x6f 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(1, 3, 0) ; encoding: [0x31,0x00,0x90,0xbf]
0x31 0x00 0x90 0xbf
# CHECK: s_sendmsg sendmsg(1, 3, 2) ; encoding: [0x31,0x02,0x90,0xbf]
0x31 0x02 0x90 0xbf
# CHECK: s_sendmsg sendmsg(2, 0, 1) ; encoding: [0x02,0x01,0x90,0xbf]
0x02 0x01 0x90 0xbf
# CHECK: s_sendmsg sendmsg(4, 0, 1) ; encoding: [0x04,0x01,0x90,0xbf]
0x04 0x01 0x90 0xbf
# CHECK: s_sendmsg sendmsg(15, 7, 3) ; encoding: [0x7f,0x03,0x90,0xbf]
0x7f 0x03 0x90 0xbf
# CHECK: s_sendmsg 4567 ; encoding: [0xd7,0x11,0x90,0xbf]
0xd7 0x11 0x90 0xbf
# CHECK: s_sendmsghalt sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x91,0xbf]
0x03 0x00 0x91 0xbf
# CHECK: s_sendmsghalt sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x91,0xbf]
0x22 0x01 0x91 0xbf
# CHECK: s_sendmsghalt sendmsg(15, 6, 0) ; encoding: [0x6f,0x00,0x91,0xbf]
0x6f 0x00 0x91 0xbf
# CHECK: s_trap 0x3141 ; encoding: [0x41,0x31,0x92,0xbf]
0x41,0x31,0x92,0xbf
# CHECK: s_trap 0xc1d1 ; encoding: [0xd1,0xc1,0x92,0xbf]
0xd1,0xc1,0x92,0xbf
# CHECK: s_icache_inv ; encoding: [0x00,0x00,0x93,0xbf]
0x00,0x00,0x93,0xbf
# CHECK: s_incperflevel 0x3141 ; encoding: [0x41,0x31,0x94,0xbf]
0x41,0x31,0x94,0xbf
# CHECK: s_incperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0x94,0xbf]
0xd1,0xc1,0x94,0xbf
# CHECK: s_decperflevel 0x3141 ; encoding: [0x41,0x31,0x95,0xbf]
0x41,0x31,0x95,0xbf
# CHECK: s_decperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0x95,0xbf]
0xd1,0xc1,0x95,0xbf
# CHECK: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf]
0x00,0x00,0x96,0xbf
# CHECK: s_cbranch_cdbgsys 12609 ; encoding: [0x41,0x31,0x97,0xbf]
0x41,0x31,0x97,0xbf
# CHECK: s_cbranch_cdbgsys 49617 ; encoding: [0xd1,0xc1,0x97,0xbf]
0xd1,0xc1,0x97,0xbf
# CHECK: s_cbranch_cdbguser 12609 ; encoding: [0x41,0x31,0x98,0xbf]
0x41,0x31,0x98,0xbf
# CHECK: s_cbranch_cdbguser 49617 ; encoding: [0xd1,0xc1,0x98,0xbf]
0xd1,0xc1,0x98,0xbf
# CHECK: s_cbranch_cdbgsys_or_user 12609 ; encoding: [0x41,0x31,0x99,0xbf]
0x41,0x31,0x99,0xbf
# CHECK: s_cbranch_cdbgsys_or_user 49617 ; encoding: [0xd1,0xc1,0x99,0xbf]
0xd1,0xc1,0x99,0xbf
# CHECK: s_cbranch_cdbgsys_and_user 12609 ; encoding: [0x41,0x31,0x9a,0xbf]
0x41,0x31,0x9a,0xbf
# CHECK: s_cbranch_cdbgsys_and_user 49617 ; encoding: [0xd1,0xc1,0x9a,0xbf]
0xd1,0xc1,0x9a,0xbf
# CHECK: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf]
0x00,0x00,0x9b,0xbf
# CHECK: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf]
0x00,0x00,0x9c,0xbf
# CHECK: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf]
0x00,0x00,0x9d,0xbf
# CHECK: s_set_gpr_idx_mode gpr_idx(SRC0) ; encoding: [0x01,0x00,0x9d,0xbf]
0x01,0x00,0x9d,0xbf
# CHECK: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf]
0x0f,0x00,0x9d,0xbf