Lines Matching refs:GFX9
2 …pu=gfx900 -mattr=+unaligned-access-mode < %s | FileCheck -check-prefixes=GCN,GFX9,GFX9-UNALIGNED %s
3 …=gfx900 -mattr=-unaligned-access-mode < %s | FileCheck -check-prefixes=GCN,GFX9,GFX9-NOUNALIGNED %s
11 ; GFX9-UNALIGNED-LABEL: v_load_constant_v3i32_align1:
12 ; GFX9-UNALIGNED: ; %bb.0:
13 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
14 ; GFX9-UNALIGNED-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
15 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0)
16 ; GFX9-UNALIGNED-NEXT: s_setpc_b64 s[30:31]
18 ; GFX9-NOUNALIGNED-LABEL: v_load_constant_v3i32_align1:
19 ; GFX9-NOUNALIGNED: ; %bb.0:
20 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
21 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v[0:1], off
22 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v3, v[0:1], off offset:1
23 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v[0:1], off offset:2
24 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v5, v[0:1], off offset:3
25 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v6, v[0:1], off offset:4
26 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v7, v[0:1], off offset:5
27 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v[0:1], off offset:6
28 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v[0:1], off offset:7
29 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v[0:1], off offset:8
30 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v[0:1], off offset:9
31 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v[0:1], off offset:11
32 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v13, v[0:1], off offset:10
33 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
34 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v0, v3, 8, v2
35 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
36 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v4
37 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
38 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 24, v5
39 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v1, v2, v0
40 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(6)
41 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v3, v7, 8, v6
42 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
43 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v8
44 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
45 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 24, v9
46 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v4, v5, v3
47 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
48 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v6, v11, 8, v10
49 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
50 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v12
51 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
52 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v8, 16, v13
53 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v7, v8, v6
54 ; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
120 ; GFX9-UNALIGNED-LABEL: v_load_constant_v3i32_align2:
121 ; GFX9-UNALIGNED: ; %bb.0:
122 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
123 ; GFX9-UNALIGNED-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
124 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0)
125 ; GFX9-UNALIGNED-NEXT: s_setpc_b64 s[30:31]
127 ; GFX9-NOUNALIGNED-LABEL: v_load_constant_v3i32_align2:
128 ; GFX9-NOUNALIGNED: ; %bb.0:
129 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
130 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v[0:1], off
131 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v3, v[0:1], off offset:2
132 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v[0:1], off offset:4
133 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v[0:1], off offset:6
134 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v6, v[0:1], off offset:8
135 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v7, v[0:1], off offset:10
136 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
137 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v0, v3, 16, v2
138 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
139 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v1, v5, 16, v4
140 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
141 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v2, v7, 16, v6
142 ; GFX9-NOUNALIGNED-NEXT: s_setpc_b64 s[30:31]
184 ; GFX9-LABEL: v_load_constant_v3i32_align4:
185 ; GFX9: ; %bb.0:
186 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
187 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
188 ; GFX9-NEXT: s_waitcnt vmcnt(0)
189 ; GFX9-NEXT: s_setpc_b64 s[30:31]
205 ; GFX9-LABEL: v_load_constant_i96_align8:
206 ; GFX9: ; %bb.0:
207 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
208 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
209 ; GFX9-NEXT: s_waitcnt vmcnt(0)
210 ; GFX9-NEXT: s_setpc_b64 s[30:31]
226 ; GFX9-LABEL: v_load_constant_v3i32_align8:
227 ; GFX9: ; %bb.0:
228 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
229 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
230 ; GFX9-NEXT: s_waitcnt vmcnt(0)
231 ; GFX9-NEXT: s_setpc_b64 s[30:31]
247 ; GFX9-LABEL: v_load_constant_v6i16_align8:
248 ; GFX9: ; %bb.0:
249 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
250 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
251 ; GFX9-NEXT: s_waitcnt vmcnt(0)
252 ; GFX9-NEXT: s_setpc_b64 s[30:31]
274 ; GFX9-LABEL: v_load_constant_v12i8_align8:
275 ; GFX9: ; %bb.0:
276 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
277 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
278 ; GFX9-NEXT: s_waitcnt vmcnt(0)
279 ; GFX9-NEXT: v_lshrrev_b32_e32 v13, 8, v0
280 ; GFX9-NEXT: v_lshrrev_b32_e32 v12, 16, v0
281 ; GFX9-NEXT: v_lshrrev_b32_e32 v3, 24, v0
282 ; GFX9-NEXT: v_lshrrev_b32_e32 v5, 8, v1
283 ; GFX9-NEXT: v_lshrrev_b32_e32 v6, 16, v1
284 ; GFX9-NEXT: v_lshrrev_b32_e32 v7, 24, v1
285 ; GFX9-NEXT: v_lshrrev_b32_e32 v9, 8, v2
286 ; GFX9-NEXT: v_lshrrev_b32_e32 v10, 16, v2
287 ; GFX9-NEXT: v_lshrrev_b32_e32 v11, 24, v2
288 ; GFX9-NEXT: v_mov_b32_e32 v4, v1
289 ; GFX9-NEXT: v_mov_b32_e32 v8, v2
290 ; GFX9-NEXT: v_mov_b32_e32 v1, v13
291 ; GFX9-NEXT: v_mov_b32_e32 v2, v12
292 ; GFX9-NEXT: s_setpc_b64 s[30:31]
321 ; GFX9-LABEL: v_load_constant_v3i32_align16:
322 ; GFX9: ; %bb.0:
323 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
324 ; GFX9-NEXT: global_load_dwordx3 v[0:2], v[0:1], off
325 ; GFX9-NEXT: s_waitcnt vmcnt(0)
326 ; GFX9-NEXT: s_setpc_b64 s[30:31]
342 ; GFX9-UNALIGNED-LABEL: s_load_constant_v3i32_align1:
343 ; GFX9-UNALIGNED: ; %bb.0:
344 ; GFX9-UNALIGNED-NEXT: v_mov_b32_e32 v0, 0
345 ; GFX9-UNALIGNED-NEXT: global_load_dwordx3 v[0:2], v0, s[0:1]
346 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0)
347 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
348 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
349 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
350 ; GFX9-UNALIGNED-NEXT: ; return to shader part epilog
352 ; GFX9-NOUNALIGNED-LABEL: s_load_constant_v3i32_align1:
353 ; GFX9-NOUNALIGNED: ; %bb.0:
354 ; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, 0
355 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v1, v0, s[0:1]
356 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v2, v0, s[0:1] offset:1
357 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v3, v0, s[0:1] offset:2
358 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v4, v0, s[0:1] offset:3
359 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v5, v0, s[0:1] offset:4
360 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v6, v0, s[0:1] offset:5
361 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v7, v0, s[0:1] offset:6
362 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v8, v0, s[0:1] offset:7
363 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v9, v0, s[0:1] offset:8
364 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v10, v0, s[0:1] offset:9
365 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v11, v0, s[0:1] offset:11
366 ; GFX9-NOUNALIGNED-NEXT: global_load_ubyte v12, v0, s[0:1] offset:10
367 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(10)
368 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v0, v2, 8, v1
369 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(9)
370 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v2, 16, v3
371 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(8)
372 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v1, 24, v4
373 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v0, v1, v2, v0
374 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(6)
375 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v3, v6, 8, v5
376 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(5)
377 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v5, 16, v7
378 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
379 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v4, 24, v8
380 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v1, v4, v5, v3
381 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
382 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v6, v10, 8, v9
383 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(1)
384 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v7, 24, v11
385 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
386 ; GFX9-NOUNALIGNED-NEXT: v_lshlrev_b32_e32 v8, 16, v12
387 ; GFX9-NOUNALIGNED-NEXT: v_or3_b32 v2, v7, v8, v6
388 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
389 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
390 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
391 ; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
459 ; GFX9-UNALIGNED-LABEL: s_load_constant_v3i32_align2:
460 ; GFX9-UNALIGNED: ; %bb.0:
461 ; GFX9-UNALIGNED-NEXT: v_mov_b32_e32 v0, 0
462 ; GFX9-UNALIGNED-NEXT: global_load_dwordx3 v[0:2], v0, s[0:1]
463 ; GFX9-UNALIGNED-NEXT: s_waitcnt vmcnt(0)
464 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
465 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
466 ; GFX9-UNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
467 ; GFX9-UNALIGNED-NEXT: ; return to shader part epilog
469 ; GFX9-NOUNALIGNED-LABEL: s_load_constant_v3i32_align2:
470 ; GFX9-NOUNALIGNED: ; %bb.0:
471 ; GFX9-NOUNALIGNED-NEXT: v_mov_b32_e32 v0, 0
472 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v1, v0, s[0:1]
473 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v2, v0, s[0:1] offset:2
474 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v3, v0, s[0:1] offset:4
475 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v4, v0, s[0:1] offset:6
476 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v5, v0, s[0:1] offset:8
477 ; GFX9-NOUNALIGNED-NEXT: global_load_ushort v6, v0, s[0:1] offset:10
478 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(4)
479 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v0, v2, 16, v1
480 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s0, v0
481 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(2)
482 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v1, v4, 16, v3
483 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s1, v1
484 ; GFX9-NOUNALIGNED-NEXT: s_waitcnt vmcnt(0)
485 ; GFX9-NOUNALIGNED-NEXT: v_lshl_or_b32 v2, v6, 16, v5
486 ; GFX9-NOUNALIGNED-NEXT: v_readfirstlane_b32 s2, v2
487 ; GFX9-NOUNALIGNED-NEXT: ; return to shader part epilog
531 ; GFX9-LABEL: s_load_constant_v3i32_align4:
532 ; GFX9: ; %bb.0:
533 ; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
534 ; GFX9-NEXT: s_load_dword s2, s[0:1], 0x8
535 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
536 ; GFX9-NEXT: s_mov_b32 s0, s4
537 ; GFX9-NEXT: s_mov_b32 s1, s5
538 ; GFX9-NEXT: ; return to shader part epilog
553 ; GFX9-LABEL: s_load_constant_i96_align8:
554 ; GFX9: ; %bb.0:
555 ; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
556 ; GFX9-NEXT: s_load_dword s2, s[0:1], 0x8
557 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
558 ; GFX9-NEXT: s_mov_b32 s0, s4
559 ; GFX9-NEXT: s_mov_b32 s1, s5
560 ; GFX9-NEXT: ; return to shader part epilog
575 ; GFX9-LABEL: s_load_constant_v3i32_align8:
576 ; GFX9: ; %bb.0:
577 ; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
578 ; GFX9-NEXT: s_load_dword s2, s[0:1], 0x8
579 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
580 ; GFX9-NEXT: s_mov_b32 s0, s4
581 ; GFX9-NEXT: s_mov_b32 s1, s5
582 ; GFX9-NEXT: ; return to shader part epilog
597 ; GFX9-LABEL: s_load_constant_v6i16_align8:
598 ; GFX9: ; %bb.0:
599 ; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
600 ; GFX9-NEXT: s_load_dword s2, s[0:1], 0x8
601 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
602 ; GFX9-NEXT: s_mov_b32 s0, s4
603 ; GFX9-NEXT: s_mov_b32 s1, s5
604 ; GFX9-NEXT: ; return to shader part epilog
620 ; GFX9-LABEL: s_load_constant_v12i8_align8:
621 ; GFX9: ; %bb.0:
622 ; GFX9-NEXT: s_load_dwordx2 s[12:13], s[0:1], 0x0
623 ; GFX9-NEXT: s_load_dword s8, s[0:1], 0x8
624 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
625 ; GFX9-NEXT: s_lshr_b32 s1, s12, 8
626 ; GFX9-NEXT: s_lshr_b32 s2, s12, 16
627 ; GFX9-NEXT: s_lshr_b32 s3, s12, 24
628 ; GFX9-NEXT: s_lshr_b32 s5, s13, 8
629 ; GFX9-NEXT: s_lshr_b32 s6, s13, 16
630 ; GFX9-NEXT: s_lshr_b32 s7, s13, 24
631 ; GFX9-NEXT: s_lshr_b32 s9, s8, 8
632 ; GFX9-NEXT: s_lshr_b32 s10, s8, 16
633 ; GFX9-NEXT: s_lshr_b32 s11, s8, 24
634 ; GFX9-NEXT: s_mov_b32 s0, s12
635 ; GFX9-NEXT: s_mov_b32 s4, s13
636 ; GFX9-NEXT: ; return to shader part epilog