1# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=GCN
2
3# GCN: s_nop 0 ; encoding: [0x00,0x00,0x80,0xbf]
40x00 0x00 0x80 0xbf
5
6# GCN: s_nop 0xffff ; encoding: [0xff,0xff,0x80,0xbf]
70xff 0xff 0x80 0xbf
8
9# GCN: s_nop 1 ; encoding: [0x01,0x00,0x80,0xbf]
100x01 0x00 0x80 0xbf
11
12# GCN: s_endpgm ; encoding: [0x00,0x00,0x81,0xbf]
130x00 0x00 0x81 0xbf
14
15# GCN: s_branch 2 ; encoding: [0x02,0x00,0x82,0xbf]
160x02 0x00 0x82 0xbf
17
18# GCN: s_cbranch_scc0 3 ; encoding: [0x03,0x00,0x84,0xbf]
190x03 0x00 0x84 0xbf
20
21# GCN: s_cbranch_scc1 4 ; encoding: [0x04,0x00,0x85,0xbf]
220x04 0x00 0x85 0xbf
23
24# GCN: s_cbranch_vccz 5 ; encoding: [0x05,0x00,0x86,0xbf]
250x05 0x00 0x86 0xbf
26
27# GCN: s_cbranch_vccnz 6 ; encoding: [0x06,0x00,0x87,0xbf]
280x06 0x00 0x87 0xbf
29
30# GCN: s_cbranch_execz 7 ; encoding: [0x07,0x00,0x88,0xbf]
310x07 0x00 0x88 0xbf
32
33# GCN: s_cbranch_execnz 8 ; encoding: [0x08,0x00,0x89,0xbf]
340x08 0x00 0x89 0xbf
35
36# GCN: s_barrier ; encoding: [0x00,0x00,0x8a,0xbf]
370x00 0x00 0x8a 0xbf
38
39# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
400x00 0x00 0x8c 0xbf
41
42# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
430x00 0x00 0x8c 0xbf
44
45# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
460x00 0x00 0x8c 0xbf
47
48# GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf]
490x00 0x00 0x8c 0xbf
50
51# GCN: s_waitcnt vmcnt(1) ; encoding: [0x71,0x0f,0x8c,0xbf]
520x71 0x0f 0x8c 0xbf
53
54# GCN: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf]
550x79 0x0f 0x8c 0xbf
56
57# GCN: s_waitcnt expcnt(2) ; encoding: [0x2f,0x0f,0x8c,0xbf]
580x2f 0x0f 0x8c 0xbf
59
60# GCN: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0x03,0x8c,0xbf]
610x7f 0x03 0x8c 0xbf
62
63# GCN: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0x09,0x8c,0xbf]
640x7f 0x09 0x8c 0xbf
65
66# GCN: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0x00,0x0f,0x8c,0xbf]
670x00 0x0f 0x8c 0xbf
68
69# GCN: s_sethalt 9 ; encoding: [0x09,0x00,0x8d,0xbf]
700x09 0x00 0x8d 0xbf
71
72# GCN: s_sleep 10 ; encoding: [0x0a,0x00,0x8e,0xbf]
730x0a 0x00 0x8e 0xbf
74
75# GCN: s_setprio 1 ; encoding: [0x01,0x00,0x8f,0xbf]
760x01 0x00 0x8f 0xbf
77
78# GCN: s_sendmsg 2 ; encoding: [0x02,0x00,0x90,0xbf]
790x02 0x00 0x90 0xbf
80
81# GCN: s_sendmsg sendmsg(MSG_INTERRUPT) ; encoding: [0x01,0x00,0x90,0xbf]
820x01 0x00 0x90 0xbf
83
84# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0) ; encoding: [0x12,0x00,0x90,0xbf]
850x12 0x00 0x90 0xbf
86
87# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x90,0xbf]
880x22 0x01 0x90 0xbf
89
90# GCN: s_sendmsg sendmsg(MSG_GS, GS_OP_EMIT_CUT, 2) ; encoding: [0x32,0x02,0x90,0xbf]
910x32 0x02 0x90 0xbf
92
93# GCN: s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x90,0xbf]
940x03 0x00 0x90 0xbf
95
96# GCN: s_sendmsg 11 ; encoding: [0x0b,0x00,0x90,0xbf]
970x0b 0x00 0x90 0xbf
98
99# GCN: s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT) ; encoding: [0x1f,0x00,0x90,0xbf]
1000x1f 0x00 0x90 0xbf
101
102# GCN: s_sendmsg 111 ; encoding: [0x6f,0x00,0x90,0xbf]
1030x6f 0x00 0x90 0xbf
104
105# GCN: s_sendmsghalt sendmsg(MSG_GS_DONE, GS_OP_NOP) ; encoding: [0x03,0x00,0x91,0xbf]
1060x03 0x00 0x91 0xbf
107
108# GCN: s_sendmsghalt sendmsg(MSG_GS, GS_OP_EMIT, 1) ; encoding: [0x22,0x01,0x91,0xbf]
1090x22 0x01 0x91 0xbf
110
111# GCN: s_sendmsghalt 111 ; encoding: [0x6f,0x00,0x91,0xbf]
1120x6f 0x00 0x91 0xbf
113
114# GCN: s_trap 4 ; encoding: [0x04,0x00,0x92,0xbf]
1150x04 0x00 0x92 0xbf
116
117# GCN: s_icache_inv ; encoding: [0x00,0x00,0x93,0xbf]
1180x00 0x00 0x93 0xbf
119
120# GCN: s_incperflevel 5 ; encoding: [0x05,0x00,0x94,0xbf]
1210x05 0x00 0x94 0xbf
122
123# GCN: s_decperflevel 6 ; encoding: [0x06,0x00,0x95,0xbf]
1240x06 0x00 0x95 0xbf
125
126# GCN: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf]
1270x00 0x00 0x96 0xbf
128