• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI
2
3# VI:   s_mov_b32 s1, s2 ; encoding: [0x02,0x00,0x81,0xbe]
40x02 0x00 0x81 0xbe
5
6# VI:   s_mov_b32 s1, 1 ; encoding: [0x81,0x00,0x81,0xbe]
70x81 0x00 0x81 0xbe
8
9# VI:   s_mov_b32 s1, 0x64 ; encoding: [0xff,0x00,0x81,0xbe,0x64,0x00,0x00,0x00]
100xff 0x00 0x81 0xbe 0x64 0x00 0x00 0x00
11
12# VI:   s_mov_b32 s1, 0x80000000 ; encoding: [0xff,0x00,0x81,0xbe,0x00,0x00,0x00,0x80]
130xff 0x00 0x81 0xbe 0x00 0x00 0x00 0x80
14
15# VI:   s_mov_b32 s0, 0xfe5163ab ; encoding: [0xff,0x00,0x80,0xbe,0xab,0x63,0x51,0xfe]
160xff 0x00 0x80 0xbe 0xab 0x63 0x51 0xfe
17
18# VI:   s_mov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x01,0x82,0xbe]
190x04 0x01 0x82 0xbe
20
21# FIXME:   s_mov_b64 s[2:3], -1 ; encoding: [0xc1,0x01,0x82,0xbe]
220xc1 0x01 0x82 0xbe
23
24# VI:   s_mov_b64 s[2:3], 0xffffffff ; encoding: [0xff,0x01,0x82,0xbe,0xff,0xff,0xff,0xff]
250xff 0x01 0x82 0xbe 0xff 0xff 0xff 0xff
26
27# VI:   s_mov_b64 s[0:1], 0x80000000 ; encoding: [0xff,0x01,0x80,0xbe,0x00,0x00,0x00,0x80]
280xff 0x01 0x80 0xbe 0x00 0x00 0x00 0x80
29
30# VI:   s_cmov_b32 s1, 0xc8 ; encoding: [0xff,0x02,0x81,0xbe,0xc8,0x00,0x00,0x00]
310xff 0x02 0x81 0xbe 0xc8 0x00 0x00 0x00
32
33# VI:   s_cmov_b32 s1, 1.0 ; encoding: [0xf2,0x02,0x81,0xbe]
340xf2 0x02 0x81 0xbe
35
36# VI:   s_cmov_b32 s1, s2 ; encoding: [0x02,0x02,0x81,0xbe]
370x02 0x02 0x81 0xbe
38
39# VI:   s_cmov_b64 s[2:3], s[4:5] ; encoding: [0x04,0x03,0x82,0xbe]
400x04 0x03 0x82 0xbe
41
42# VI:   s_not_b32 s1, s2 ; encoding: [0x02,0x04,0x81,0xbe]
430x02 0x04 0x81 0xbe
44
45# VI:   s_not_b64 s[2:3], s[4:5] ; encoding: [0x04,0x05,0x82,0xbe]
460x04 0x05 0x82 0xbe
47
48# VI:   s_wqm_b32 s1, s2 ; encoding: [0x02,0x06,0x81,0xbe]
490x02 0x06 0x81 0xbe
50
51# VI:   s_wqm_b64 s[2:3], s[4:5] ; encoding: [0x04,0x07,0x82,0xbe]
520x04 0x07 0x82 0xbe
53
54# VI:   s_brev_b32 s1, s2 ; encoding: [0x02,0x08,0x81,0xbe]
550x02 0x08 0x81 0xbe
56
57# VI:   s_brev_b64 s[2:3], s[4:5] ; encoding: [0x04,0x09,0x82,0xbe]
580x04 0x09 0x82 0xbe
59
60# VI:   s_bcnt0_i32_b32 s1, s2 ; encoding: [0x02,0x0a,0x81,0xbe]
610x02 0x0a 0x81 0xbe
62
63# VI:   s_bcnt0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0b,0x81,0xbe]
640x02 0x0b 0x81 0xbe
65
66# VI:   s_bcnt1_i32_b32 s1, s2 ; encoding: [0x02,0x0c,0x81,0xbe]
670x02 0x0c 0x81 0xbe
68
69# VI:   s_bcnt1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0d,0x81,0xbe]
700x02 0x0d 0x81 0xbe
71
72# VI:   s_ff0_i32_b32 s1, s2 ; encoding: [0x02,0x0e,0x81,0xbe]
730x02 0x0e 0x81 0xbe
74
75# VI:   s_ff0_i32_b64 s1, s[2:3] ; encoding: [0x02,0x0f,0x81,0xbe]
760x02 0x0f 0x81 0xbe
77
78# VI:   s_ff1_i32_b32 s1, s2 ; encoding: [0x02,0x10,0x81,0xbe]
790x02 0x10 0x81 0xbe
80
81# VI:   s_ff1_i32_b64 s1, s[2:3] ; encoding: [0x02,0x11,0x81,0xbe]
820x02 0x11 0x81 0xbe
83
84# VI:   s_flbit_i32_b32 s1, s2 ; encoding: [0x02,0x12,0x81,0xbe]
850x02 0x12 0x81 0xbe
86
87# VI:   s_flbit_i32_b64 s1, s[2:3] ; encoding: [0x02,0x13,0x81,0xbe]
880x02 0x13 0x81 0xbe
89
90# VI:   s_flbit_i32 s1, s2 ; encoding: [0x02,0x14,0x81,0xbe]
910x02 0x14 0x81 0xbe
92
93# VI:   s_flbit_i32_i64 s1, s[2:3] ; encoding: [0x02,0x15,0x81,0xbe]
940x02 0x15 0x81 0xbe
95
96# VI:   s_sext_i32_i8 s1, s2 ; encoding: [0x02,0x16,0x81,0xbe]
970x02 0x16 0x81 0xbe
98
99# VI:   s_sext_i32_i16 s1, s2 ; encoding: [0x02,0x17,0x81,0xbe]
1000x02 0x17 0x81 0xbe
101
102# VI:   s_bitset0_b32 s1, s2 ; encoding: [0x02,0x18,0x81,0xbe]
1030x02 0x18 0x81 0xbe
104
105# VI:   s_bitset0_b64 s[2:3], s4 ; encoding: [0x04,0x19,0x82,0xbe]
1060x04 0x19 0x82 0xbe
107
108# VI:   s_bitset1_b32 s1, s2 ; encoding: [0x02,0x1a,0x81,0xbe]
1090x02 0x1a 0x81 0xbe
110
111# VI:   s_bitset1_b64 s[2:3], s4 ; encoding: [0x04,0x1b,0x82,0xbe]
1120x04 0x1b 0x82 0xbe
113
114# VI:   s_getpc_b64 s[2:3] ; encoding: [0x00,0x1c,0x82,0xbe]
1150x00 0x1c 0x82 0xbe
116
117# VI:   s_setpc_b64 s[4:5] ; encoding: [0x04,0x1d,0x80,0xbe]
1180x04 0x1d 0x80 0xbe
119
120# VI:   s_swappc_b64 s[2:3], s[4:5] ; encoding: [0x04,0x1e,0x82,0xbe]
1210x04 0x1e 0x82 0xbe
122
123# VI:   s_rfe_b64 s[4:5] ; encoding: [0x04,0x1f,0x80,0xbe]
1240x04 0x1f 0x80 0xbe
125
126# VI:   s_and_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x20,0x82,0xbe]
1270x04 0x20 0x82 0xbe
128
129# VI:   s_or_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x21,0x82,0xbe]
1300x04 0x21 0x82 0xbe
131
132# VI:   s_xor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x22,0x82,0xbe]
1330x04 0x22 0x82 0xbe
134
135# VI:   s_andn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x23,0x82,0xbe]
1360x04 0x23 0x82 0xbe
137
138# VI:   s_orn2_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x24,0x82,0xbe]
1390x04 0x24 0x82 0xbe
140
141# VI:   s_nand_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x25,0x82,0xbe]
1420x04 0x25 0x82 0xbe
143
144# VI:   s_nor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x26,0x82,0xbe]
1450x04 0x26 0x82 0xbe
146
147# VI:   s_xnor_saveexec_b64 s[2:3], s[4:5] ; encoding: [0x04,0x27,0x82,0xbe]
1480x04 0x27 0x82 0xbe
149
150# VI:   s_quadmask_b32 s1, s2 ; encoding: [0x02,0x28,0x81,0xbe]
1510x02 0x28 0x81 0xbe
152
153# VI:   s_quadmask_b64 s[2:3], s[4:5] ; encoding: [0x04,0x29,0x82,0xbe]
1540x04 0x29 0x82 0xbe
155
156# VI:   s_movrels_b32 s1, s2 ; encoding: [0x02,0x2a,0x81,0xbe]
1570x02 0x2a 0x81 0xbe
158
159# VI:   s_movrels_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2b,0x82,0xbe]
1600x04 0x2b 0x82 0xbe
161
162# VI:   s_movreld_b32 s1, s2 ; encoding: [0x02,0x2c,0x81,0xbe]
1630x02 0x2c 0x81 0xbe
164
165# VI:   s_movreld_b64 s[2:3], s[4:5] ; encoding: [0x04,0x2d,0x82,0xbe]
1660x04 0x2d 0x82 0xbe
167
168# VI:   s_cbranch_join s[4:5] ; encoding: [0x04,0x2e,0x80,0xbe]
1690x04 0x2e 0x80 0xbe
170
171# VI:   s_abs_i32 s1, s2 ; encoding: [0x02,0x30,0x81,0xbe]
1720x02 0x30 0x81 0xbe
173