Lines Matching refs:GFX6

2 …tahiti -amdgpu-load-store-vectorizer=0 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX6 %s
5 ; GFX6-LABEL: v_bfe_i32_arg_arg_arg:
6 ; GFX6: ; %bb.0:
7 ; GFX6-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
8 ; GFX6-NEXT: v_bfe_u32 v0, v0, v1, v2
9 ; GFX6-NEXT: s_setpc_b64 s[30:31]
15 ; GFX6-LABEL: s_bfe_i32_arg_arg_arg:
16 ; GFX6: ; %bb.0:
17 ; GFX6-NEXT: s_and_b32 s1, s1, 63
18 ; GFX6-NEXT: s_lshl_b32 s2, s2, 16
19 ; GFX6-NEXT: s_or_b32 s1, s1, s2
20 ; GFX6-NEXT: s_bfe_u32 s0, s0, s1
21 ; GFX6-NEXT: ; return to shader part epilog
33 ; GFX6-LABEL: s_bfe_i64_arg_arg_arg:
34 ; GFX6: ; %bb.0:
35 ; GFX6-NEXT: s_and_b32 s2, s2, 63
36 ; GFX6-NEXT: s_lshl_b32 s3, s3, 16
37 ; GFX6-NEXT: s_or_b32 s2, s2, s3
38 ; GFX6-NEXT: s_bfe_u64 s[0:1], s[0:1], s2
39 ; GFX6-NEXT: ; return to shader part epilog
45 ; GFX6-LABEL: bfe_u32_arg_arg_arg:
46 ; GFX6: ; %bb.0:
47 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
48 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
49 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
50 ; GFX6-NEXT: s_mov_b32 s6, -1
51 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
52 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
53 ; GFX6-NEXT: s_and_b32 s1, s0, 63
54 ; GFX6-NEXT: s_lshl_b32 s0, s0, 16
55 ; GFX6-NEXT: s_or_b32 s0, s1, s0
56 ; GFX6-NEXT: s_bfe_u32 s0, s2, s0
57 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
58 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
59 ; GFX6-NEXT: s_endpgm
66 ; GFX6-LABEL: bfe_u32_arg_arg_imm:
67 ; GFX6: ; %bb.0:
68 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
69 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
70 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
71 ; GFX6-NEXT: s_mov_b32 s6, -1
72 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
73 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
74 ; GFX6-NEXT: s_and_b32 s0, s0, 63
75 ; GFX6-NEXT: s_or_b32 s0, s0, 0x7b0000
76 ; GFX6-NEXT: s_bfe_u32 s0, s2, s0
77 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
78 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
79 ; GFX6-NEXT: s_endpgm
86 ; GFX6-LABEL: bfe_u32_arg_imm_arg:
87 ; GFX6: ; %bb.0:
88 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
89 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
90 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
91 ; GFX6-NEXT: s_mov_b32 s6, -1
92 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
93 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
94 ; GFX6-NEXT: s_lshl_b32 s0, s0, 16
95 ; GFX6-NEXT: s_or_b32 s0, 59, s0
96 ; GFX6-NEXT: s_bfe_u32 s0, s2, s0
97 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
98 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
99 ; GFX6-NEXT: s_endpgm
106 ; GFX6-LABEL: bfe_u32_imm_arg_arg:
107 ; GFX6: ; %bb.0:
108 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
109 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
110 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
111 ; GFX6-NEXT: s_mov_b32 s6, -1
112 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
113 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
114 ; GFX6-NEXT: s_and_b32 s1, s2, 63
115 ; GFX6-NEXT: s_lshl_b32 s0, s0, 16
116 ; GFX6-NEXT: s_or_b32 s0, s1, s0
117 ; GFX6-NEXT: s_bfe_u32 s0, 0x7b, s0
118 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
119 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
120 ; GFX6-NEXT: s_endpgm
127 ; GFX6-LABEL: bfe_u32_arg_0_width_reg_offset:
128 ; GFX6: ; %bb.0:
129 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
130 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
131 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
132 ; GFX6-NEXT: s_mov_b32 s6, -1
133 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
134 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
135 ; GFX6-NEXT: s_and_b32 s0, s0, 63
136 ; GFX6-NEXT: s_bfe_u32 s0, s2, s0
137 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
138 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
139 ; GFX6-NEXT: s_endpgm
146 ; GFX6-LABEL: bfe_u32_arg_0_width_imm_offset:
147 ; GFX6: ; %bb.0:
148 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
149 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xb
150 ; GFX6-NEXT: s_mov_b32 s6, -1
151 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
152 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
153 ; GFX6-NEXT: s_bfe_u32 s0, s0, 8
154 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
155 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
156 ; GFX6-NEXT: s_endpgm
163 ; GFX6-LABEL: bfe_u32_zextload_i8:
164 ; GFX6: ; %bb.0:
165 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
166 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
167 ; GFX6-NEXT: s_mov_b32 s2, -1
168 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
169 ; GFX6-NEXT: s_mov_b64 s[6:7], s[2:3]
170 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
171 ; GFX6-NEXT: buffer_load_ubyte v0, off, s[0:3], 0
172 ; GFX6-NEXT: s_waitcnt vmcnt(0)
173 ; GFX6-NEXT: v_bfe_u32 v0, v0, 0, 8
174 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
175 ; GFX6-NEXT: s_endpgm
185 ; GFX6-LABEL: bfe_u32_zext_in_reg_i8:
186 ; GFX6: ; %bb.0:
187 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
188 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
189 ; GFX6-NEXT: s_mov_b32 s6, -1
190 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
191 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
192 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
193 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
194 ; GFX6-NEXT: s_add_i32 s0, s0, 1
195 ; GFX6-NEXT: s_and_b32 s0, s0, 0xff
196 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80000
197 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
198 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
199 ; GFX6-NEXT: s_endpgm
209 ; GFX6-LABEL: bfe_u32_zext_in_reg_i16:
210 ; GFX6: ; %bb.0:
211 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
212 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
213 ; GFX6-NEXT: s_mov_b32 s6, -1
214 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
215 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
216 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
217 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
218 ; GFX6-NEXT: s_add_i32 s0, s0, 1
219 ; GFX6-NEXT: s_and_b32 s0, s0, 0xffff
220 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x100000
221 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
222 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
223 ; GFX6-NEXT: s_endpgm
233 ; GFX6-LABEL: bfe_u32_zext_in_reg_i8_offset_1:
234 ; GFX6: ; %bb.0:
235 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
236 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
237 ; GFX6-NEXT: s_mov_b32 s6, -1
238 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
239 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
240 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
241 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
242 ; GFX6-NEXT: s_add_i32 s0, s0, 1
243 ; GFX6-NEXT: s_and_b32 s0, s0, 0xff
244 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80001
245 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
246 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
247 ; GFX6-NEXT: s_endpgm
257 ; GFX6-LABEL: bfe_u32_zext_in_reg_i8_offset_3:
258 ; GFX6: ; %bb.0:
259 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
260 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
261 ; GFX6-NEXT: s_mov_b32 s6, -1
262 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
263 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
264 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
265 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
266 ; GFX6-NEXT: s_add_i32 s0, s0, 1
267 ; GFX6-NEXT: s_and_b32 s0, s0, 0xff
268 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80003
269 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
270 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
271 ; GFX6-NEXT: s_endpgm
281 ; GFX6-LABEL: bfe_u32_zext_in_reg_i8_offset_7:
282 ; GFX6: ; %bb.0:
283 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
284 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
285 ; GFX6-NEXT: s_mov_b32 s6, -1
286 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
287 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
288 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
289 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
290 ; GFX6-NEXT: s_add_i32 s0, s0, 1
291 ; GFX6-NEXT: s_and_b32 s0, s0, 0xff
292 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80007
293 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
294 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
295 ; GFX6-NEXT: s_endpgm
305 ; GFX6-LABEL: bfe_u32_zext_in_reg_i16_offset_8:
306 ; GFX6: ; %bb.0:
307 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
308 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
309 ; GFX6-NEXT: s_mov_b32 s6, -1
310 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
311 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
312 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
313 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
314 ; GFX6-NEXT: s_add_i32 s0, s0, 1
315 ; GFX6-NEXT: s_and_b32 s0, s0, 0xffff
316 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80008
317 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
318 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
319 ; GFX6-NEXT: s_endpgm
329 ; GFX6-LABEL: bfe_u32_test_1:
330 ; GFX6: ; %bb.0:
331 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
332 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
333 ; GFX6-NEXT: s_mov_b32 s6, -1
334 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
335 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
336 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
337 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
338 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x10000
339 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
340 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
341 ; GFX6-NEXT: s_endpgm
349 ; GFX6-LABEL: bfe_u32_test_2:
350 ; GFX6: ; %bb.0:
351 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
352 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
353 ; GFX6-NEXT: s_mov_b32 s6, -1
354 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
355 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
356 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
357 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
358 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
359 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80000
360 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
361 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
362 ; GFX6-NEXT: s_endpgm
371 ; GFX6-LABEL: bfe_u32_test_3:
372 ; GFX6: ; %bb.0:
373 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
374 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
375 ; GFX6-NEXT: s_mov_b32 s6, -1
376 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
377 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
378 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
379 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
380 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
381 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x10000
382 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
383 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
384 ; GFX6-NEXT: s_endpgm
393 ; GFX6-LABEL: bfe_u32_test_4:
394 ; GFX6: ; %bb.0:
395 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
396 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
397 ; GFX6-NEXT: s_mov_b32 s6, -1
398 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
399 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
400 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
401 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
402 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
403 ; GFX6-NEXT: s_lshr_b32 s0, s0, 31
404 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1001f
405 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
406 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
407 ; GFX6-NEXT: s_endpgm
417 ; GFX6-LABEL: bfe_u32_test_5:
418 ; GFX6: ; %bb.0:
419 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
420 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
421 ; GFX6-NEXT: s_mov_b32 s6, -1
422 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
423 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
424 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
425 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
426 ; GFX6-NEXT: s_bfe_i32 s0, s0, 0x10000
427 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x10000
428 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
429 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
430 ; GFX6-NEXT: s_endpgm
440 ; GFX6-LABEL: bfe_u32_test_6:
441 ; GFX6: ; %bb.0:
442 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
443 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
444 ; GFX6-NEXT: s_mov_b32 s6, -1
445 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
446 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
447 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
448 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
449 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
450 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1f0001
451 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
452 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
453 ; GFX6-NEXT: s_endpgm
462 ; GFX6-LABEL: bfe_u32_test_7:
463 ; GFX6: ; %bb.0:
464 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
465 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
466 ; GFX6-NEXT: s_mov_b32 s6, -1
467 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
468 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
469 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
470 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
471 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
472 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1f0000
473 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
474 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
475 ; GFX6-NEXT: s_endpgm
484 ; GFX6-LABEL: bfe_u32_test_8:
485 ; GFX6: ; %bb.0:
486 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
487 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
488 ; GFX6-NEXT: s_mov_b32 s6, -1
489 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
490 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
491 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
492 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
493 ; GFX6-NEXT: s_lshl_b32 s0, s0, 31
494 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1001f
495 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
496 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
497 ; GFX6-NEXT: s_endpgm
506 ; GFX6-LABEL: bfe_u32_test_9:
507 ; GFX6: ; %bb.0:
508 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
509 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
510 ; GFX6-NEXT: s_mov_b32 s6, -1
511 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
512 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
513 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
514 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
515 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1001f
516 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
517 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
518 ; GFX6-NEXT: s_endpgm
526 ; GFX6-LABEL: bfe_u32_test_10:
527 ; GFX6: ; %bb.0:
528 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
529 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
530 ; GFX6-NEXT: s_mov_b32 s6, -1
531 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
532 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
533 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
534 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
535 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1f0001
536 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
537 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
538 ; GFX6-NEXT: s_endpgm
546 ; GFX6-LABEL: bfe_u32_test_11:
547 ; GFX6: ; %bb.0:
548 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
549 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
550 ; GFX6-NEXT: s_mov_b32 s6, -1
551 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
552 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
553 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
554 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
555 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x180008
556 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
557 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
558 ; GFX6-NEXT: s_endpgm
566 ; GFX6-LABEL: bfe_u32_test_12:
567 ; GFX6: ; %bb.0:
568 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
569 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
570 ; GFX6-NEXT: s_mov_b32 s6, -1
571 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
572 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
573 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
574 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
575 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x80018
576 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
577 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
578 ; GFX6-NEXT: s_endpgm
587 ; GFX6-LABEL: bfe_u32_test_13:
588 ; GFX6: ; %bb.0:
589 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
590 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
591 ; GFX6-NEXT: s_mov_b32 s6, -1
592 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
593 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
594 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
595 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
596 ; GFX6-NEXT: s_ashr_i32 s0, s0, 31
597 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1001f
598 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
599 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
600 ; GFX6-NEXT: s_endpgm
608 ; GFX6-LABEL: bfe_u32_test_14:
609 ; GFX6: ; %bb.0:
610 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
611 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
612 ; GFX6-NEXT: s_mov_b32 s6, -1
613 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
614 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
615 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
616 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
617 ; GFX6-NEXT: s_lshr_b32 s0, s0, 31
618 ; GFX6-NEXT: s_bfe_u32 s0, s0, 0x1001f
619 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
620 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
621 ; GFX6-NEXT: s_endpgm
629 ; GFX6-LABEL: bfe_u32_constant_fold_test_0:
630 ; GFX6: ; %bb.0:
631 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
632 ; GFX6-NEXT: s_bfe_u32 s2, 0, 0
633 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
634 ; GFX6-NEXT: s_mov_b32 s2, -1
635 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
636 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
637 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
638 ; GFX6-NEXT: s_endpgm
645 ; GFX6-LABEL: bfe_u32_constant_fold_test_1:
646 ; GFX6: ; %bb.0:
647 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
648 ; GFX6-NEXT: s_bfe_u32 s2, 0x302e, 0
649 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
650 ; GFX6-NEXT: s_mov_b32 s2, -1
651 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
652 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
653 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
654 ; GFX6-NEXT: s_endpgm
661 ; GFX6-LABEL: bfe_u32_constant_fold_test_2:
662 ; GFX6: ; %bb.0:
663 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
664 ; GFX6-NEXT: s_bfe_u32 s2, 0, 0x10000
665 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
666 ; GFX6-NEXT: s_mov_b32 s2, -1
667 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
668 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
669 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
670 ; GFX6-NEXT: s_endpgm
677 ; GFX6-LABEL: bfe_u32_constant_fold_test_3:
678 ; GFX6: ; %bb.0:
679 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
680 ; GFX6-NEXT: s_bfe_u32 s2, 1, 0x10000
681 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
682 ; GFX6-NEXT: s_mov_b32 s2, -1
683 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
684 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
685 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
686 ; GFX6-NEXT: s_endpgm
693 ; GFX6-LABEL: bfe_u32_constant_fold_test_4:
694 ; GFX6: ; %bb.0:
695 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
696 ; GFX6-NEXT: s_bfe_u32 s2, -1, 0x10000
697 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
698 ; GFX6-NEXT: s_mov_b32 s2, -1
699 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
700 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
701 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
702 ; GFX6-NEXT: s_endpgm
709 ; GFX6-LABEL: bfe_u32_constant_fold_test_5:
710 ; GFX6: ; %bb.0:
711 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
712 ; GFX6-NEXT: s_mov_b32 s2, 0x10007
713 ; GFX6-NEXT: s_bfe_u32 s2, 0x80, s2
714 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
715 ; GFX6-NEXT: s_mov_b32 s2, -1
716 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
717 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
718 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
719 ; GFX6-NEXT: s_endpgm
726 ; GFX6-LABEL: bfe_u32_constant_fold_test_6:
727 ; GFX6: ; %bb.0:
728 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
729 ; GFX6-NEXT: s_mov_b32 s2, 0x80000
730 ; GFX6-NEXT: s_bfe_u32 s2, 0x80, s2
731 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
732 ; GFX6-NEXT: s_mov_b32 s2, -1
733 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
734 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
735 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
736 ; GFX6-NEXT: s_endpgm
743 ; GFX6-LABEL: bfe_u32_constant_fold_test_7:
744 ; GFX6: ; %bb.0:
745 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
746 ; GFX6-NEXT: s_mov_b32 s2, 0x80000
747 ; GFX6-NEXT: s_bfe_u32 s2, 0x7f, s2
748 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
749 ; GFX6-NEXT: s_mov_b32 s2, -1
750 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
751 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
752 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
753 ; GFX6-NEXT: s_endpgm
760 ; GFX6-LABEL: bfe_u32_constant_fold_test_8:
761 ; GFX6: ; %bb.0:
762 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
763 ; GFX6-NEXT: s_mov_b32 s2, 0x80006
764 ; GFX6-NEXT: s_bfe_u32 s2, 0x7f, s2
765 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
766 ; GFX6-NEXT: s_mov_b32 s2, -1
767 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
768 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
769 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
770 ; GFX6-NEXT: s_endpgm
777 ; GFX6-LABEL: bfe_u32_constant_fold_test_9:
778 ; GFX6: ; %bb.0:
779 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
780 ; GFX6-NEXT: s_mov_b32 s2, 0x80010
781 ; GFX6-NEXT: s_bfe_u32 s2, 0x10000, s2
782 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
783 ; GFX6-NEXT: s_mov_b32 s2, -1
784 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
785 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
786 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
787 ; GFX6-NEXT: s_endpgm
794 ; GFX6-LABEL: bfe_u32_constant_fold_test_10:
795 ; GFX6: ; %bb.0:
796 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
797 ; GFX6-NEXT: s_mov_b32 s2, 0x100010
798 ; GFX6-NEXT: s_bfe_u32 s2, 0xffff, s2
799 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
800 ; GFX6-NEXT: s_mov_b32 s2, -1
801 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
802 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
803 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
804 ; GFX6-NEXT: s_endpgm
811 ; GFX6-LABEL: bfe_u32_constant_fold_test_11:
812 ; GFX6: ; %bb.0:
813 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
814 ; GFX6-NEXT: s_mov_b32 s2, 0x40004
815 ; GFX6-NEXT: s_bfe_u32 s2, 0xa0, s2
816 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
817 ; GFX6-NEXT: s_mov_b32 s2, -1
818 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
819 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
820 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
821 ; GFX6-NEXT: s_endpgm
828 ; GFX6-LABEL: bfe_u32_constant_fold_test_12:
829 ; GFX6: ; %bb.0:
830 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
831 ; GFX6-NEXT: s_mov_b32 s2, 0x1001f
832 ; GFX6-NEXT: s_bfe_u32 s2, 0xa0, s2
833 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
834 ; GFX6-NEXT: s_mov_b32 s2, -1
835 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
836 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
837 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
838 ; GFX6-NEXT: s_endpgm
845 ; GFX6-LABEL: bfe_u32_constant_fold_test_13:
846 ; GFX6: ; %bb.0:
847 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
848 ; GFX6-NEXT: s_mov_b32 s2, 0x100010
849 ; GFX6-NEXT: s_bfe_u32 s2, 0x1fffe, s2
850 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
851 ; GFX6-NEXT: s_mov_b32 s2, -1
852 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
853 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
854 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
855 ; GFX6-NEXT: s_endpgm
862 ; GFX6-LABEL: bfe_u32_constant_fold_test_14:
863 ; GFX6: ; %bb.0:
864 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
865 ; GFX6-NEXT: s_mov_b32 s2, 0x1e0002
866 ; GFX6-NEXT: s_bfe_u32 s2, 0xa0, s2
867 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
868 ; GFX6-NEXT: s_mov_b32 s2, -1
869 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
870 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
871 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
872 ; GFX6-NEXT: s_endpgm
879 ; GFX6-LABEL: bfe_u32_constant_fold_test_15:
880 ; GFX6: ; %bb.0:
881 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
882 ; GFX6-NEXT: s_mov_b32 s2, 0x1c0004
883 ; GFX6-NEXT: s_bfe_u32 s2, 0xa0, s2
884 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
885 ; GFX6-NEXT: s_mov_b32 s2, -1
886 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
887 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
888 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
889 ; GFX6-NEXT: s_endpgm
896 ; GFX6-LABEL: bfe_u32_constant_fold_test_16:
897 ; GFX6: ; %bb.0:
898 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
899 ; GFX6-NEXT: s_bfe_u32 s2, -1, 0x70001
900 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
901 ; GFX6-NEXT: s_mov_b32 s2, -1
902 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
903 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
904 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
905 ; GFX6-NEXT: s_endpgm
912 ; GFX6-LABEL: bfe_u32_constant_fold_test_17:
913 ; GFX6: ; %bb.0:
914 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
915 ; GFX6-NEXT: s_mov_b32 s2, 0x1f0001
916 ; GFX6-NEXT: s_bfe_u32 s2, 0xff, s2
917 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
918 ; GFX6-NEXT: s_mov_b32 s2, -1
919 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
920 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
921 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
922 ; GFX6-NEXT: s_endpgm
929 ; GFX6-LABEL: bfe_u32_constant_fold_test_18:
930 ; GFX6: ; %bb.0:
931 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
932 ; GFX6-NEXT: s_mov_b32 s2, 0x1001f
933 ; GFX6-NEXT: s_bfe_u32 s2, 0xff, s2
934 ; GFX6-NEXT: v_mov_b32_e32 v0, s2
935 ; GFX6-NEXT: s_mov_b32 s2, -1
936 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
937 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
938 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
939 ; GFX6-NEXT: s_endpgm
950 ; GFX6-LABEL: simplify_bfe_u32_multi_use_arg:
951 ; GFX6: ; %bb.0:
952 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
953 ; GFX6-NEXT: s_load_dwordx2 s[8:9], s[0:1], 0xb
954 ; GFX6-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xd
955 ; GFX6-NEXT: s_mov_b32 s6, -1
956 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
957 ; GFX6-NEXT: s_mov_b64 s[10:11], s[6:7]
958 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
959 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0x0
960 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
961 ; GFX6-NEXT: s_and_b32 s0, s0, 63
962 ; GFX6-NEXT: s_bfe_u32 s1, s0, 0x20002
963 ; GFX6-NEXT: v_mov_b32_e32 v1, s1
964 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
965 ; GFX6-NEXT: buffer_store_dword v1, off, s[4:7], 0
966 ; GFX6-NEXT: buffer_store_dword v0, off, s[8:11], 0
967 ; GFX6-NEXT: s_endpgm
979 ; GFX6-LABEL: lshr_and:
980 ; GFX6: ; %bb.0:
981 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
982 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xb
983 ; GFX6-NEXT: s_mov_b32 s6, -1
984 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
985 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
986 ; GFX6-NEXT: s_lshr_b32 s0, s0, 6
987 ; GFX6-NEXT: s_and_b32 s0, s0, 7
988 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
989 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
990 ; GFX6-NEXT: s_endpgm
998 ; GFX6-LABEL: v_lshr_and:
999 ; GFX6: ; %bb.0:
1000 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
1001 ; GFX6-NEXT: s_load_dword s2, s[0:1], 0xb
1002 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xc
1003 ; GFX6-NEXT: s_mov_b32 s6, -1
1004 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
1005 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
1006 ; GFX6-NEXT: s_lshr_b32 s0, s2, s0
1007 ; GFX6-NEXT: s_and_b32 s0, s0, 7
1008 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
1009 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
1010 ; GFX6-NEXT: s_endpgm
1018 ; GFX6-LABEL: and_lshr:
1019 ; GFX6: ; %bb.0:
1020 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
1021 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xb
1022 ; GFX6-NEXT: s_mov_b32 s6, -1
1023 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
1024 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
1025 ; GFX6-NEXT: s_and_b32 s0, s0, 0x1c0
1026 ; GFX6-NEXT: s_lshr_b32 s0, s0, 6
1027 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
1028 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
1029 ; GFX6-NEXT: s_endpgm
1037 ; GFX6-LABEL: and_lshr2:
1038 ; GFX6: ; %bb.0:
1039 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
1040 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xb
1041 ; GFX6-NEXT: s_mov_b32 s6, -1
1042 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
1043 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
1044 ; GFX6-NEXT: s_and_b32 s0, s0, 0x1ff
1045 ; GFX6-NEXT: s_lshr_b32 s0, s0, 6
1046 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
1047 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
1048 ; GFX6-NEXT: s_endpgm
1056 ; GFX6-LABEL: shl_lshr:
1057 ; GFX6: ; %bb.0:
1058 ; GFX6-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x9
1059 ; GFX6-NEXT: s_load_dword s0, s[0:1], 0xb
1060 ; GFX6-NEXT: s_mov_b32 s6, -1
1061 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
1062 ; GFX6-NEXT: s_waitcnt lgkmcnt(0)
1063 ; GFX6-NEXT: s_lshl_b32 s0, s0, 9
1064 ; GFX6-NEXT: s_lshr_b32 s0, s0, 11
1065 ; GFX6-NEXT: v_mov_b32_e32 v0, s0
1066 ; GFX6-NEXT: buffer_store_dword v0, off, s[4:7], 0
1067 ; GFX6-NEXT: s_endpgm