1 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=bonaire
-show-encoding
%s | FileCheck
%s
3 flat_load_ubyte v5
, v
[1:2]
4 // CHECK
: [0x00,0x00,0x20,0xdc,0x01,0x00,0x00,0x05]
6 flat_load_ubyte v255
, v
[1:2]
7 // CHECK
: [0x00,0x00,0x20,0xdc,0x01,0x00,0x00,0xff]
9 flat_load_ubyte v5
, v
[254:255]
10 // CHECK
: [0x00,0x00,0x20,0xdc,0xfe,0x00,0x00,0x05]
12 flat_load_ubyte v5
, v
[1:2] glc
13 // CHECK
: [0x00,0x00,0x21,0xdc,0x01,0x00,0x00,0x05]
15 flat_load_ubyte v5
, v
[1:2] slc
16 // CHECK
: [0x00,0x00,0x22,0xdc,0x01,0x00,0x00,0x05]
18 flat_load_sbyte v5
, v
[1:2]
19 // CHECK
: [0x00,0x00,0x24,0xdc,0x01,0x00,0x00,0x05]
21 flat_load_sbyte v255
, v
[1:2]
22 // CHECK
: [0x00,0x00,0x24,0xdc,0x01,0x00,0x00,0xff]
24 flat_load_sbyte v5
, v
[254:255]
25 // CHECK
: [0x00,0x00,0x24,0xdc,0xfe,0x00,0x00,0x05]
27 flat_load_sbyte v5
, v
[1:2] glc
28 // CHECK
: [0x00,0x00,0x25,0xdc,0x01,0x00,0x00,0x05]
30 flat_load_sbyte v5
, v
[1:2] slc
31 // CHECK
: [0x00,0x00,0x26,0xdc,0x01,0x00,0x00,0x05]
33 flat_load_ushort v5
, v
[1:2]
34 // CHECK
: [0x00,0x00,0x28,0xdc,0x01,0x00,0x00,0x05]
36 flat_load_ushort v255
, v
[1:2]
37 // CHECK
: [0x00,0x00,0x28,0xdc,0x01,0x00,0x00,0xff]
39 flat_load_ushort v5
, v
[254:255]
40 // CHECK
: [0x00,0x00,0x28,0xdc,0xfe,0x00,0x00,0x05]
42 flat_load_ushort v5
, v
[1:2] glc
43 // CHECK
: [0x00,0x00,0x29,0xdc,0x01,0x00,0x00,0x05]
45 flat_load_ushort v5
, v
[1:2] slc
46 // CHECK
: [0x00,0x00,0x2a,0xdc,0x01,0x00,0x00,0x05]
48 flat_load_sshort v5
, v
[1:2]
49 // CHECK
: [0x00,0x00,0x2c,0xdc,0x01,0x00,0x00,0x05]
51 flat_load_sshort v255
, v
[1:2]
52 // CHECK
: [0x00,0x00,0x2c,0xdc,0x01,0x00,0x00,0xff]
54 flat_load_sshort v5
, v
[254:255]
55 // CHECK
: [0x00,0x00,0x2c,0xdc,0xfe,0x00,0x00,0x05]
57 flat_load_sshort v5
, v
[1:2] glc
58 // CHECK
: [0x00,0x00,0x2d,0xdc,0x01,0x00,0x00,0x05]
60 flat_load_sshort v5
, v
[1:2] slc
61 // CHECK
: [0x00,0x00,0x2e,0xdc,0x01,0x00,0x00,0x05]
63 flat_load_dword v5
, v
[1:2]
64 // CHECK
: [0x00,0x00,0x30,0xdc,0x01,0x00,0x00,0x05]
66 flat_load_dword v255
, v
[1:2]
67 // CHECK
: [0x00,0x00,0x30,0xdc,0x01,0x00,0x00,0xff]
69 flat_load_dword v5
, v
[254:255]
70 // CHECK
: [0x00,0x00,0x30,0xdc,0xfe,0x00,0x00,0x05]
72 flat_load_dword v5
, v
[1:2] glc
73 // CHECK
: [0x00,0x00,0x31,0xdc,0x01,0x00,0x00,0x05]
75 flat_load_dword v5
, v
[1:2] slc
76 // CHECK
: [0x00,0x00,0x32,0xdc,0x01,0x00,0x00,0x05]
78 flat_load_dwordx2 v
[5:6], v
[1:2]
79 // CHECK
: [0x00,0x00,0x34,0xdc,0x01,0x00,0x00,0x05]
81 flat_load_dwordx2 v
[254:255], v
[1:2]
82 // CHECK
: [0x00,0x00,0x34,0xdc,0x01,0x00,0x00,0xfe]
84 flat_load_dwordx2 v
[5:6], v
[254:255]
85 // CHECK
: [0x00,0x00,0x34,0xdc,0xfe,0x00,0x00,0x05]
87 flat_load_dwordx2 v
[5:6], v
[1:2] glc
88 // CHECK
: [0x00,0x00,0x35,0xdc,0x01,0x00,0x00,0x05]
90 flat_load_dwordx2 v
[5:6], v
[1:2] slc
91 // CHECK
: [0x00,0x00,0x36,0xdc,0x01,0x00,0x00,0x05]
93 flat_load_dwordx4 v
[5:8], v
[1:2]
94 // CHECK
: [0x00,0x00,0x38,0xdc,0x01,0x00,0x00,0x05]
96 flat_load_dwordx4 v
[252:255], v
[1:2]
97 // CHECK
: [0x00,0x00,0x38,0xdc,0x01,0x00,0x00,0xfc]
99 flat_load_dwordx4 v
[5:8], v
[254:255]
100 // CHECK
: [0x00,0x00,0x38,0xdc,0xfe,0x00,0x00,0x05]
102 flat_load_dwordx4 v
[5:8], v
[1:2] glc
103 // CHECK
: [0x00,0x00,0x39,0xdc,0x01,0x00,0x00,0x05]
105 flat_load_dwordx4 v
[5:8], v
[1:2] slc
106 // CHECK
: [0x00,0x00,0x3a,0xdc,0x01,0x00,0x00,0x05]
108 flat_load_dwordx3 v
[5:7], v
[1:2]
109 // CHECK
: [0x00,0x00,0x3c,0xdc,0x01,0x00,0x00,0x05]
111 flat_load_dwordx3 v
[253:255], v
[1:2]
112 // CHECK
: [0x00,0x00,0x3c,0xdc,0x01,0x00,0x00,0xfd]
114 flat_load_dwordx3 v
[5:7], v
[254:255]
115 // CHECK
: [0x00,0x00,0x3c,0xdc,0xfe,0x00,0x00,0x05]
117 flat_load_dwordx3 v
[5:7], v
[1:2] glc
118 // CHECK
: [0x00,0x00,0x3d,0xdc,0x01,0x00,0x00,0x05]
120 flat_load_dwordx3 v
[5:7], v
[1:2] slc
121 // CHECK
: [0x00,0x00,0x3e,0xdc,0x01,0x00,0x00,0x05]
123 flat_store_byte v
[1:2], v2
124 // CHECK
: [0x00,0x00,0x60,0xdc,0x01,0x02,0x00,0x00]
126 flat_store_byte v
[254:255], v2
127 // CHECK
: [0x00,0x00,0x60,0xdc,0xfe,0x02,0x00,0x00]
129 flat_store_byte v
[1:2], v255
130 // CHECK
: [0x00,0x00,0x60,0xdc,0x01,0xff,0x00,0x00]
132 flat_store_byte v
[1:2], v2 glc
133 // CHECK
: [0x00,0x00,0x61,0xdc,0x01,0x02,0x00,0x00]
135 flat_store_byte v
[1:2], v2 slc
136 // CHECK
: [0x00,0x00,0x62,0xdc,0x01,0x02,0x00,0x00]
138 flat_store_short v
[1:2], v2
139 // CHECK
: [0x00,0x00,0x68,0xdc,0x01,0x02,0x00,0x00]
141 flat_store_short v
[254:255], v2
142 // CHECK
: [0x00,0x00,0x68,0xdc,0xfe,0x02,0x00,0x00]
144 flat_store_short v
[1:2], v255
145 // CHECK
: [0x00,0x00,0x68,0xdc,0x01,0xff,0x00,0x00]
147 flat_store_short v
[1:2], v2 glc
148 // CHECK
: [0x00,0x00,0x69,0xdc,0x01,0x02,0x00,0x00]
150 flat_store_short v
[1:2], v2 slc
151 // CHECK
: [0x00,0x00,0x6a,0xdc,0x01,0x02,0x00,0x00]
153 flat_store_dword v
[1:2], v2
154 // CHECK
: [0x00,0x00,0x70,0xdc,0x01,0x02,0x00,0x00]
156 flat_store_dword v
[254:255], v2
157 // CHECK
: [0x00,0x00,0x70,0xdc,0xfe,0x02,0x00,0x00]
159 flat_store_dword v
[1:2], v255
160 // CHECK
: [0x00,0x00,0x70,0xdc,0x01,0xff,0x00,0x00]
162 flat_store_dword v
[1:2], v2 glc
163 // CHECK
: [0x00,0x00,0x71,0xdc,0x01,0x02,0x00,0x00]
165 flat_store_dword v
[1:2], v2 slc
166 // CHECK
: [0x00,0x00,0x72,0xdc,0x01,0x02,0x00,0x00]
168 flat_store_dwordx2 v
[1:2], v
[2:3]
169 // CHECK
: [0x00,0x00,0x74,0xdc,0x01,0x02,0x00,0x00]
171 flat_store_dwordx2 v
[254:255], v
[2:3]
172 // CHECK
: [0x00,0x00,0x74,0xdc,0xfe,0x02,0x00,0x00]
174 flat_store_dwordx2 v
[1:2], v
[254:255]
175 // CHECK
: [0x00,0x00,0x74,0xdc,0x01,0xfe,0x00,0x00]
177 flat_store_dwordx2 v
[1:2], v
[2:3] glc
178 // CHECK
: [0x00,0x00,0x75,0xdc,0x01,0x02,0x00,0x00]
180 flat_store_dwordx2 v
[1:2], v
[2:3] slc
181 // CHECK
: [0x00,0x00,0x76,0xdc,0x01,0x02,0x00,0x00]
183 flat_store_dwordx4 v
[1:2], v
[2:5]
184 // CHECK
: [0x00,0x00,0x78,0xdc,0x01,0x02,0x00,0x00]
186 flat_store_dwordx4 v
[254:255], v
[2:5]
187 // CHECK
: [0x00,0x00,0x78,0xdc,0xfe,0x02,0x00,0x00]
189 flat_store_dwordx4 v
[1:2], v
[252:255]
190 // CHECK
: [0x00,0x00,0x78,0xdc,0x01,0xfc,0x00,0x00]
192 flat_store_dwordx4 v
[1:2], v
[2:5] glc
193 // CHECK
: [0x00,0x00,0x79,0xdc,0x01,0x02,0x00,0x00]
195 flat_store_dwordx4 v
[1:2], v
[2:5] slc
196 // CHECK
: [0x00,0x00,0x7a,0xdc,0x01,0x02,0x00,0x00]
198 flat_store_dwordx3 v
[1:2], v
[2:4]
199 // CHECK
: [0x00,0x00,0x7c,0xdc,0x01,0x02,0x00,0x00]
201 flat_store_dwordx3 v
[254:255], v
[2:4]
202 // CHECK
: [0x00,0x00,0x7c,0xdc,0xfe,0x02,0x00,0x00]
204 flat_store_dwordx3 v
[1:2], v
[253:255]
205 // CHECK
: [0x00,0x00,0x7c,0xdc,0x01,0xfd,0x00,0x00]
207 flat_store_dwordx3 v
[1:2], v
[2:4] glc
208 // CHECK
: [0x00,0x00,0x7d,0xdc,0x01,0x02,0x00,0x00]
210 flat_store_dwordx3 v
[1:2], v
[2:4] slc
211 // CHECK
: [0x00,0x00,0x7e,0xdc,0x01,0x02,0x00,0x00]
213 flat_atomic_swap v
[1:2], v2
214 // CHECK
: [0x00,0x00,0xc0,0xdc,0x01,0x02,0x00,0x00]
216 flat_atomic_swap v
[254:255], v2
217 // CHECK
: [0x00,0x00,0xc0,0xdc,0xfe,0x02,0x00,0x00]
219 flat_atomic_swap v
[1:2], v255
220 // CHECK
: [0x00,0x00,0xc0,0xdc,0x01,0xff,0x00,0x00]
222 flat_atomic_swap v0
, v
[1:2], v2 glc
223 // CHECK
: [0x00,0x00,0xc1,0xdc,0x01,0x02,0x00,0x00]
225 flat_atomic_swap v
[1:2], v2 slc
226 // CHECK
: [0x00,0x00,0xc2,0xdc,0x01,0x02,0x00,0x00]
228 flat_atomic_cmpswap v
[1:2], v
[2:3]
229 // CHECK
: [0x00,0x00,0xc4,0xdc,0x01,0x02,0x00,0x00]
231 flat_atomic_cmpswap v
[254:255], v
[2:3]
232 // CHECK
: [0x00,0x00,0xc4,0xdc,0xfe,0x02,0x00,0x00]
234 flat_atomic_cmpswap v
[1:2], v
[254:255]
235 // CHECK
: [0x00,0x00,0xc4,0xdc,0x01,0xfe,0x00,0x00]
237 flat_atomic_cmpswap v0
, v
[1:2], v
[2:3] glc
238 // CHECK
: [0x00,0x00,0xc5,0xdc,0x01,0x02,0x00,0x00]
240 flat_atomic_cmpswap v
[1:2], v
[2:3] slc
241 // CHECK
: [0x00,0x00,0xc6,0xdc,0x01,0x02,0x00,0x00]
243 flat_atomic_add v
[1:2], v2
244 // CHECK
: [0x00,0x00,0xc8,0xdc,0x01,0x02,0x00,0x00]
246 flat_atomic_add v
[254:255], v2
247 // CHECK
: [0x00,0x00,0xc8,0xdc,0xfe,0x02,0x00,0x00]
249 flat_atomic_add v
[1:2], v255
250 // CHECK
: [0x00,0x00,0xc8,0xdc,0x01,0xff,0x00,0x00]
252 flat_atomic_add v0
, v
[1:2], v2 glc
253 // CHECK
: [0x00,0x00,0xc9,0xdc,0x01,0x02,0x00,0x00]
255 flat_atomic_add v
[1:2], v2 slc
256 // CHECK
: [0x00,0x00,0xca,0xdc,0x01,0x02,0x00,0x00]
258 flat_atomic_sub v
[1:2], v2
259 // CHECK
: [0x00,0x00,0xcc,0xdc,0x01,0x02,0x00,0x00]
261 flat_atomic_sub v
[254:255], v2
262 // CHECK
: [0x00,0x00,0xcc,0xdc,0xfe,0x02,0x00,0x00]
264 flat_atomic_sub v
[1:2], v255
265 // CHECK
: [0x00,0x00,0xcc,0xdc,0x01,0xff,0x00,0x00]
267 flat_atomic_sub v0
, v
[1:2], v2 glc
268 // CHECK
: [0x00,0x00,0xcd,0xdc,0x01,0x02,0x00,0x00]
270 flat_atomic_sub v
[1:2], v2 slc
271 // CHECK
: [0x00,0x00,0xce,0xdc,0x01,0x02,0x00,0x00]
273 flat_atomic_smin v
[1:2], v2
274 // CHECK
: [0x00,0x00,0xd4,0xdc,0x01,0x02,0x00,0x00]
276 flat_atomic_smin v
[254:255], v2
277 // CHECK
: [0x00,0x00,0xd4,0xdc,0xfe,0x02,0x00,0x00]
279 flat_atomic_smin v
[1:2], v255
280 // CHECK
: [0x00,0x00,0xd4,0xdc,0x01,0xff,0x00,0x00]
282 flat_atomic_smin v0
, v
[1:2], v2 glc
283 // CHECK
: [0x00,0x00,0xd5,0xdc,0x01,0x02,0x00,0x00]
285 flat_atomic_smin v
[1:2], v2 slc
286 // CHECK
: [0x00,0x00,0xd6,0xdc,0x01,0x02,0x00,0x00]
288 flat_atomic_umin v
[1:2], v2
289 // CHECK
: [0x00,0x00,0xd8,0xdc,0x01,0x02,0x00,0x00]
291 flat_atomic_umin v
[254:255], v2
292 // CHECK
: [0x00,0x00,0xd8,0xdc,0xfe,0x02,0x00,0x00]
294 flat_atomic_umin v
[1:2], v255
295 // CHECK
: [0x00,0x00,0xd8,0xdc,0x01,0xff,0x00,0x00]
297 flat_atomic_umin v0
, v
[1:2], v2 glc
298 // CHECK
: [0x00,0x00,0xd9,0xdc,0x01,0x02,0x00,0x00]
300 flat_atomic_umin v
[1:2], v2 slc
301 // CHECK
: [0x00,0x00,0xda,0xdc,0x01,0x02,0x00,0x00]
303 flat_atomic_smax v
[1:2], v2
304 // CHECK
: [0x00,0x00,0xdc,0xdc,0x01,0x02,0x00,0x00]
306 flat_atomic_smax v
[254:255], v2
307 // CHECK
: [0x00,0x00,0xdc,0xdc,0xfe,0x02,0x00,0x00]
309 flat_atomic_smax v
[1:2], v255
310 // CHECK
: [0x00,0x00,0xdc,0xdc,0x01,0xff,0x00,0x00]
312 flat_atomic_smax v0
, v
[1:2], v2 glc
313 // CHECK
: [0x00,0x00,0xdd,0xdc,0x01,0x02,0x00,0x00]
315 flat_atomic_smax v
[1:2], v2 slc
316 // CHECK
: [0x00,0x00,0xde,0xdc,0x01,0x02,0x00,0x00]
318 flat_atomic_umax v
[1:2], v2
319 // CHECK
: [0x00,0x00,0xe0,0xdc,0x01,0x02,0x00,0x00]
321 flat_atomic_umax v
[254:255], v2
322 // CHECK
: [0x00,0x00,0xe0,0xdc,0xfe,0x02,0x00,0x00]
324 flat_atomic_umax v
[1:2], v255
325 // CHECK
: [0x00,0x00,0xe0,0xdc,0x01,0xff,0x00,0x00]
327 flat_atomic_umax v0
, v
[1:2], v2 glc
328 // CHECK
: [0x00,0x00,0xe1,0xdc,0x01,0x02,0x00,0x00]
330 flat_atomic_umax v
[1:2], v2 slc
331 // CHECK
: [0x00,0x00,0xe2,0xdc,0x01,0x02,0x00,0x00]
333 flat_atomic_and v
[1:2], v2
334 // CHECK
: [0x00,0x00,0xe4,0xdc,0x01,0x02,0x00,0x00]
336 flat_atomic_and v
[254:255], v2
337 // CHECK
: [0x00,0x00,0xe4,0xdc,0xfe,0x02,0x00,0x00]
339 flat_atomic_and v
[1:2], v255
340 // CHECK
: [0x00,0x00,0xe4,0xdc,0x01,0xff,0x00,0x00]
342 flat_atomic_and v0
, v
[1:2], v2 glc
343 // CHECK
: [0x00,0x00,0xe5,0xdc,0x01,0x02,0x00,0x00]
345 flat_atomic_and v
[1:2], v2 slc
346 // CHECK
: [0x00,0x00,0xe6,0xdc,0x01,0x02,0x00,0x00]
348 flat_atomic_or v
[1:2], v2
349 // CHECK
: [0x00,0x00,0xe8,0xdc,0x01,0x02,0x00,0x00]
351 flat_atomic_or v
[254:255], v2
352 // CHECK
: [0x00,0x00,0xe8,0xdc,0xfe,0x02,0x00,0x00]
354 flat_atomic_or v
[1:2], v255
355 // CHECK
: [0x00,0x00,0xe8,0xdc,0x01,0xff,0x00,0x00]
357 flat_atomic_or v0
, v
[1:2], v2 glc
358 // CHECK
: [0x00,0x00,0xe9,0xdc,0x01,0x02,0x00,0x00]
360 flat_atomic_or v
[1:2], v2 slc
361 // CHECK
: [0x00,0x00,0xea,0xdc,0x01,0x02,0x00,0x00]
363 flat_atomic_xor v
[1:2], v2
364 // CHECK
: [0x00,0x00,0xec,0xdc,0x01,0x02,0x00,0x00]
366 flat_atomic_xor v
[254:255], v2
367 // CHECK
: [0x00,0x00,0xec,0xdc,0xfe,0x02,0x00,0x00]
369 flat_atomic_xor v
[1:2], v255
370 // CHECK
: [0x00,0x00,0xec,0xdc,0x01,0xff,0x00,0x00]
372 flat_atomic_xor v0
, v
[1:2], v2 glc
373 // CHECK
: [0x00,0x00,0xed,0xdc,0x01,0x02,0x00,0x00]
375 flat_atomic_xor v
[1:2], v2 slc
376 // CHECK
: [0x00,0x00,0xee,0xdc,0x01,0x02,0x00,0x00]
378 flat_atomic_inc v
[1:2], v2
379 // CHECK
: [0x00,0x00,0xf0,0xdc,0x01,0x02,0x00,0x00]
381 flat_atomic_inc v
[254:255], v2
382 // CHECK
: [0x00,0x00,0xf0,0xdc,0xfe,0x02,0x00,0x00]
384 flat_atomic_inc v
[1:2], v255
385 // CHECK
: [0x00,0x00,0xf0,0xdc,0x01,0xff,0x00,0x00]
387 flat_atomic_inc v0
, v
[1:2], v2 glc
388 // CHECK
: [0x00,0x00,0xf1,0xdc,0x01,0x02,0x00,0x00]
390 flat_atomic_inc v
[1:2], v2 slc
391 // CHECK
: [0x00,0x00,0xf2,0xdc,0x01,0x02,0x00,0x00]
393 flat_atomic_dec v
[1:2], v2
394 // CHECK
: [0x00,0x00,0xf4,0xdc,0x01,0x02,0x00,0x00]
396 flat_atomic_dec v
[254:255], v2
397 // CHECK
: [0x00,0x00,0xf4,0xdc,0xfe,0x02,0x00,0x00]
399 flat_atomic_dec v
[1:2], v255
400 // CHECK
: [0x00,0x00,0xf4,0xdc,0x01,0xff,0x00,0x00]
402 flat_atomic_dec v0
, v
[1:2], v2 glc
403 // CHECK
: [0x00,0x00,0xf5,0xdc,0x01,0x02,0x00,0x00]
405 flat_atomic_dec v
[1:2], v2 slc
406 // CHECK
: [0x00,0x00,0xf6,0xdc,0x01,0x02,0x00,0x00]
408 flat_atomic_fcmpswap v
[1:2], v
[2:3]
409 // CHECK
: [0x00,0x00,0xf8,0xdc,0x01,0x02,0x00,0x00]
411 flat_atomic_fcmpswap v
[254:255], v
[2:3]
412 // CHECK
: [0x00,0x00,0xf8,0xdc,0xfe,0x02,0x00,0x00]
414 flat_atomic_fcmpswap v
[1:2], v
[254:255]
415 // CHECK
: [0x00,0x00,0xf8,0xdc,0x01,0xfe,0x00,0x00]
417 flat_atomic_fcmpswap v0
, v
[1:2], v
[2:3] glc
418 // CHECK
: [0x00,0x00,0xf9,0xdc,0x01,0x02,0x00,0x00]
420 flat_atomic_fcmpswap v
[1:2], v
[2:3] slc
421 // CHECK
: [0x00,0x00,0xfa,0xdc,0x01,0x02,0x00,0x00]
423 flat_atomic_fmin v
[1:2], v2
424 // CHECK
: [0x00,0x00,0xfc,0xdc,0x01,0x02,0x00,0x00]
426 flat_atomic_fmin v
[254:255], v2
427 // CHECK
: [0x00,0x00,0xfc,0xdc,0xfe,0x02,0x00,0x00]
429 flat_atomic_fmin v
[1:2], v255
430 // CHECK
: [0x00,0x00,0xfc,0xdc,0x01,0xff,0x00,0x00]
432 flat_atomic_fmin v0
, v
[1:2], v2 glc
433 // CHECK
: [0x00,0x00,0xfd,0xdc,0x01,0x02,0x00,0x00]
435 flat_atomic_fmin v
[1:2], v2 slc
436 // CHECK
: [0x00,0x00,0xfe,0xdc,0x01,0x02,0x00,0x00]
438 flat_atomic_fmax v
[1:2], v2
439 // CHECK
: [0x00,0x00,0x00,0xdd,0x01,0x02,0x00,0x00]
441 flat_atomic_fmax v
[254:255], v2
442 // CHECK
: [0x00,0x00,0x00,0xdd,0xfe,0x02,0x00,0x00]
444 flat_atomic_fmax v
[1:2], v255
445 // CHECK
: [0x00,0x00,0x00,0xdd,0x01,0xff,0x00,0x00]
447 flat_atomic_fmax v0
, v
[1:2], v2 glc
448 // CHECK
: [0x00,0x00,0x01,0xdd,0x01,0x02,0x00,0x00]
450 flat_atomic_fmax v
[1:2], v2 slc
451 // CHECK
: [0x00,0x00,0x02,0xdd,0x01,0x02,0x00,0x00]
453 flat_atomic_swap_x2 v
[1:2], v
[2:3]
454 // CHECK
: [0x00,0x00,0x40,0xdd,0x01,0x02,0x00,0x00]
456 flat_atomic_swap_x2 v
[254:255], v
[2:3]
457 // CHECK
: [0x00,0x00,0x40,0xdd,0xfe,0x02,0x00,0x00]
459 flat_atomic_swap_x2 v
[1:2], v
[254:255]
460 // CHECK
: [0x00,0x00,0x40,0xdd,0x01,0xfe,0x00,0x00]
462 flat_atomic_swap_x2 v
[0:1], v
[1:2], v
[2:3] glc
463 // CHECK
: [0x00,0x00,0x41,0xdd,0x01,0x02,0x00,0x00]
465 flat_atomic_swap_x2 v
[1:2], v
[2:3] slc
466 // CHECK
: [0x00,0x00,0x42,0xdd,0x01,0x02,0x00,0x00]
468 flat_atomic_cmpswap_x2 v
[1:2], v
[2:5]
469 // CHECK
: [0x00,0x00,0x44,0xdd,0x01,0x02,0x00,0x00]
471 flat_atomic_cmpswap_x2 v
[254:255], v
[2:5]
472 // CHECK
: [0x00,0x00,0x44,0xdd,0xfe,0x02,0x00,0x00]
474 flat_atomic_cmpswap_x2 v
[1:2], v
[252:255]
475 // CHECK
: [0x00,0x00,0x44,0xdd,0x01,0xfc,0x00,0x00]
477 flat_atomic_cmpswap_x2 v
[0:1], v
[1:2], v
[2:5] glc
478 // CHECK
: [0x00,0x00,0x45,0xdd,0x01,0x02,0x00,0x00]
480 flat_atomic_cmpswap_x2 v
[1:2], v
[2:5] slc
481 // CHECK
: [0x00,0x00,0x46,0xdd,0x01,0x02,0x00,0x00]
483 flat_atomic_add_x2 v
[1:2], v
[2:3]
484 // CHECK
: [0x00,0x00,0x48,0xdd,0x01,0x02,0x00,0x00]
486 flat_atomic_add_x2 v
[254:255], v
[2:3]
487 // CHECK
: [0x00,0x00,0x48,0xdd,0xfe,0x02,0x00,0x00]
489 flat_atomic_add_x2 v
[1:2], v
[254:255]
490 // CHECK
: [0x00,0x00,0x48,0xdd,0x01,0xfe,0x00,0x00]
492 flat_atomic_add_x2 v
[0:1], v
[1:2], v
[2:3] glc
493 // CHECK
: [0x00,0x00,0x49,0xdd,0x01,0x02,0x00,0x00]
495 flat_atomic_add_x2 v
[1:2], v
[2:3] slc
496 // CHECK
: [0x00,0x00,0x4a,0xdd,0x01,0x02,0x00,0x00]
498 flat_atomic_sub_x2 v
[1:2], v
[2:3]
499 // CHECK
: [0x00,0x00,0x4c,0xdd,0x01,0x02,0x00,0x00]
501 flat_atomic_sub_x2 v
[254:255], v
[2:3]
502 // CHECK
: [0x00,0x00,0x4c,0xdd,0xfe,0x02,0x00,0x00]
504 flat_atomic_sub_x2 v
[1:2], v
[254:255]
505 // CHECK
: [0x00,0x00,0x4c,0xdd,0x01,0xfe,0x00,0x00]
507 flat_atomic_sub_x2 v
[0:1], v
[1:2], v
[2:3] glc
508 // CHECK
: [0x00,0x00,0x4d,0xdd,0x01,0x02,0x00,0x00]
510 flat_atomic_sub_x2 v
[1:2], v
[2:3] slc
511 // CHECK
: [0x00,0x00,0x4e,0xdd,0x01,0x02,0x00,0x00]
513 flat_atomic_smin_x2 v
[1:2], v
[2:3]
514 // CHECK
: [0x00,0x00,0x54,0xdd,0x01,0x02,0x00,0x00]
516 flat_atomic_smin_x2 v
[254:255], v
[2:3]
517 // CHECK
: [0x00,0x00,0x54,0xdd,0xfe,0x02,0x00,0x00]
519 flat_atomic_smin_x2 v
[1:2], v
[254:255]
520 // CHECK
: [0x00,0x00,0x54,0xdd,0x01,0xfe,0x00,0x00]
522 flat_atomic_smin_x2 v
[0:1], v
[1:2], v
[2:3] glc
523 // CHECK
: [0x00,0x00,0x55,0xdd,0x01,0x02,0x00,0x00]
525 flat_atomic_smin_x2 v
[1:2], v
[2:3] slc
526 // CHECK
: [0x00,0x00,0x56,0xdd,0x01,0x02,0x00,0x00]
528 flat_atomic_umin_x2 v
[1:2], v
[2:3]
529 // CHECK
: [0x00,0x00,0x58,0xdd,0x01,0x02,0x00,0x00]
531 flat_atomic_umin_x2 v
[254:255], v
[2:3]
532 // CHECK
: [0x00,0x00,0x58,0xdd,0xfe,0x02,0x00,0x00]
534 flat_atomic_umin_x2 v
[1:2], v
[254:255]
535 // CHECK
: [0x00,0x00,0x58,0xdd,0x01,0xfe,0x00,0x00]
537 flat_atomic_umin_x2 v
[0:1], v
[1:2], v
[2:3] glc
538 // CHECK
: [0x00,0x00,0x59,0xdd,0x01,0x02,0x00,0x00]
540 flat_atomic_umin_x2 v
[1:2], v
[2:3] slc
541 // CHECK
: [0x00,0x00,0x5a,0xdd,0x01,0x02,0x00,0x00]
543 flat_atomic_smax_x2 v
[1:2], v
[2:3]
544 // CHECK
: [0x00,0x00,0x5c,0xdd,0x01,0x02,0x00,0x00]
546 flat_atomic_smax_x2 v
[254:255], v
[2:3]
547 // CHECK
: [0x00,0x00,0x5c,0xdd,0xfe,0x02,0x00,0x00]
549 flat_atomic_smax_x2 v
[1:2], v
[254:255]
550 // CHECK
: [0x00,0x00,0x5c,0xdd,0x01,0xfe,0x00,0x00]
552 flat_atomic_smax_x2 v
[0:1], v
[1:2], v
[2:3] glc
553 // CHECK
: [0x00,0x00,0x5d,0xdd,0x01,0x02,0x00,0x00]
555 flat_atomic_smax_x2 v
[1:2], v
[2:3] slc
556 // CHECK
: [0x00,0x00,0x5e,0xdd,0x01,0x02,0x00,0x00]
558 flat_atomic_umax_x2 v
[1:2], v
[2:3]
559 // CHECK
: [0x00,0x00,0x60,0xdd,0x01,0x02,0x00,0x00]
561 flat_atomic_umax_x2 v
[254:255], v
[2:3]
562 // CHECK
: [0x00,0x00,0x60,0xdd,0xfe,0x02,0x00,0x00]
564 flat_atomic_umax_x2 v
[1:2], v
[254:255]
565 // CHECK
: [0x00,0x00,0x60,0xdd,0x01,0xfe,0x00,0x00]
567 flat_atomic_umax_x2 v
[0:1], v
[1:2], v
[2:3] glc
568 // CHECK
: [0x00,0x00,0x61,0xdd,0x01,0x02,0x00,0x00]
570 flat_atomic_umax_x2 v
[1:2], v
[2:3] slc
571 // CHECK
: [0x00,0x00,0x62,0xdd,0x01,0x02,0x00,0x00]
573 flat_atomic_and_x2 v
[1:2], v
[2:3]
574 // CHECK
: [0x00,0x00,0x64,0xdd,0x01,0x02,0x00,0x00]
576 flat_atomic_and_x2 v
[254:255], v
[2:3]
577 // CHECK
: [0x00,0x00,0x64,0xdd,0xfe,0x02,0x00,0x00]
579 flat_atomic_and_x2 v
[1:2], v
[254:255]
580 // CHECK
: [0x00,0x00,0x64,0xdd,0x01,0xfe,0x00,0x00]
582 flat_atomic_and_x2 v
[0:1], v
[1:2], v
[2:3] glc
583 // CHECK
: [0x00,0x00,0x65,0xdd,0x01,0x02,0x00,0x00]
585 flat_atomic_and_x2 v
[1:2], v
[2:3] slc
586 // CHECK
: [0x00,0x00,0x66,0xdd,0x01,0x02,0x00,0x00]
588 flat_atomic_or_x2 v
[1:2], v
[2:3]
589 // CHECK
: [0x00,0x00,0x68,0xdd,0x01,0x02,0x00,0x00]
591 flat_atomic_or_x2 v
[254:255], v
[2:3]
592 // CHECK
: [0x00,0x00,0x68,0xdd,0xfe,0x02,0x00,0x00]
594 flat_atomic_or_x2 v
[1:2], v
[254:255]
595 // CHECK
: [0x00,0x00,0x68,0xdd,0x01,0xfe,0x00,0x00]
597 flat_atomic_or_x2 v
[0:1], v
[1:2], v
[2:3] glc
598 // CHECK
: [0x00,0x00,0x69,0xdd,0x01,0x02,0x00,0x00]
600 flat_atomic_or_x2 v
[1:2], v
[2:3] slc
601 // CHECK
: [0x00,0x00,0x6a,0xdd,0x01,0x02,0x00,0x00]
603 flat_atomic_xor_x2 v
[1:2], v
[2:3]
604 // CHECK
: [0x00,0x00,0x6c,0xdd,0x01,0x02,0x00,0x00]
606 flat_atomic_xor_x2 v
[254:255], v
[2:3]
607 // CHECK
: [0x00,0x00,0x6c,0xdd,0xfe,0x02,0x00,0x00]
609 flat_atomic_xor_x2 v
[1:2], v
[254:255]
610 // CHECK
: [0x00,0x00,0x6c,0xdd,0x01,0xfe,0x00,0x00]
612 flat_atomic_xor_x2 v
[0:1], v
[1:2], v
[2:3] glc
613 // CHECK
: [0x00,0x00,0x6d,0xdd,0x01,0x02,0x00,0x00]
615 flat_atomic_xor_x2 v
[1:2], v
[2:3] slc
616 // CHECK
: [0x00,0x00,0x6e,0xdd,0x01,0x02,0x00,0x00]
618 flat_atomic_inc_x2 v
[1:2], v
[2:3]
619 // CHECK
: [0x00,0x00,0x70,0xdd,0x01,0x02,0x00,0x00]
621 flat_atomic_inc_x2 v
[254:255], v
[2:3]
622 // CHECK
: [0x00,0x00,0x70,0xdd,0xfe,0x02,0x00,0x00]
624 flat_atomic_inc_x2 v
[1:2], v
[254:255]
625 // CHECK
: [0x00,0x00,0x70,0xdd,0x01,0xfe,0x00,0x00]
627 flat_atomic_inc_x2 v
[0:1], v
[1:2], v
[2:3] glc
628 // CHECK
: [0x00,0x00,0x71,0xdd,0x01,0x02,0x00,0x00]
630 flat_atomic_inc_x2 v
[1:2], v
[2:3] slc
631 // CHECK
: [0x00,0x00,0x72,0xdd,0x01,0x02,0x00,0x00]
633 flat_atomic_dec_x2 v
[1:2], v
[2:3]
634 // CHECK
: [0x00,0x00,0x74,0xdd,0x01,0x02,0x00,0x00]
636 flat_atomic_dec_x2 v
[254:255], v
[2:3]
637 // CHECK
: [0x00,0x00,0x74,0xdd,0xfe,0x02,0x00,0x00]
639 flat_atomic_dec_x2 v
[1:2], v
[254:255]
640 // CHECK
: [0x00,0x00,0x74,0xdd,0x01,0xfe,0x00,0x00]
642 flat_atomic_dec_x2 v
[0:1], v
[1:2], v
[2:3] glc
643 // CHECK
: [0x00,0x00,0x75,0xdd,0x01,0x02,0x00,0x00]
645 flat_atomic_dec_x2 v
[1:2], v
[2:3] slc
646 // CHECK
: [0x00,0x00,0x76,0xdd,0x01,0x02,0x00,0x00]
648 flat_atomic_fcmpswap_x2 v
[1:2], v
[2:5]
649 // CHECK
: [0x00,0x00,0x78,0xdd,0x01,0x02,0x00,0x00]
651 flat_atomic_fcmpswap_x2 v
[254:255], v
[2:5]
652 // CHECK
: [0x00,0x00,0x78,0xdd,0xfe,0x02,0x00,0x00]
654 flat_atomic_fcmpswap_x2 v
[1:2], v
[252:255]
655 // CHECK
: [0x00,0x00,0x78,0xdd,0x01,0xfc,0x00,0x00]
657 flat_atomic_fcmpswap_x2 v
[0:1], v
[1:2], v
[2:5] glc
658 // CHECK
: [0x00,0x00,0x79,0xdd,0x01,0x02,0x00,0x00]
660 flat_atomic_fcmpswap_x2 v
[1:2], v
[2:5] slc
661 // CHECK
: [0x00,0x00,0x7a,0xdd,0x01,0x02,0x00,0x00]
663 flat_atomic_fmin_x2 v
[1:2], v
[2:3]
664 // CHECK
: [0x00,0x00,0x7c,0xdd,0x01,0x02,0x00,0x00]
666 flat_atomic_fmin_x2 v
[254:255], v
[2:3]
667 // CHECK
: [0x00,0x00,0x7c,0xdd,0xfe,0x02,0x00,0x00]
669 flat_atomic_fmin_x2 v
[1:2], v
[254:255]
670 // CHECK
: [0x00,0x00,0x7c,0xdd,0x01,0xfe,0x00,0x00]
672 flat_atomic_fmin_x2 v
[0:1], v
[1:2], v
[2:3] glc
673 // CHECK
: [0x00,0x00,0x7d,0xdd,0x01,0x02,0x00,0x00]
675 flat_atomic_fmin_x2 v
[1:2], v
[2:3] slc
676 // CHECK
: [0x00,0x00,0x7e,0xdd,0x01,0x02,0x00,0x00]
678 flat_atomic_fmax_x2 v
[1:2], v
[2:3]
679 // CHECK
: [0x00,0x00,0x80,0xdd,0x01,0x02,0x00,0x00]
681 flat_atomic_fmax_x2 v
[254:255], v
[2:3]
682 // CHECK
: [0x00,0x00,0x80,0xdd,0xfe,0x02,0x00,0x00]
684 flat_atomic_fmax_x2 v
[1:2], v
[254:255]
685 // CHECK
: [0x00,0x00,0x80,0xdd,0x01,0xfe,0x00,0x00]
687 flat_atomic_fmax_x2 v
[0:1], v
[1:2], v
[2:3] glc
688 // CHECK
: [0x00,0x00,0x81,0xdd,0x01,0x02,0x00,0x00]
690 flat_atomic_fmax_x2 v
[1:2], v
[2:3] slc
691 // CHECK
: [0x00,0x00,0x82,0xdd,0x01,0x02,0x00,0x00]