Lines Matching refs:CI

2 …neinstrs < %s | FileCheck -allow-deprecated-dag-overlap -enable-var-scope -check-prefixes=GCN,CI %s
5 ; half args should be promoted to float for CI and lower.
8 ; CI-LABEL: load_f16_arg:
9 ; CI: ; %bb.0:
10 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
11 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
12 ; CI-NEXT: s_waitcnt lgkmcnt(0)
13 ; CI-NEXT: v_mov_b32_e32 v0, s0
14 ; CI-NEXT: v_mov_b32_e32 v1, s1
15 ; CI-NEXT: v_mov_b32_e32 v2, s2
16 ; CI-NEXT: flat_store_short v[0:1], v2
17 ; CI-NEXT: s_endpgm
34 ; CI-LABEL: load_v2f16_arg:
35 ; CI: ; %bb.0:
36 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
37 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
38 ; CI-NEXT: s_waitcnt lgkmcnt(0)
39 ; CI-NEXT: v_mov_b32_e32 v0, s0
40 ; CI-NEXT: v_mov_b32_e32 v1, s1
41 ; CI-NEXT: v_mov_b32_e32 v2, s2
42 ; CI-NEXT: flat_store_dword v[0:1], v2
43 ; CI-NEXT: s_endpgm
60 ; CI-LABEL: load_v3f16_arg:
61 ; CI: ; %bb.0:
62 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
63 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x2
64 ; CI-NEXT: s_waitcnt lgkmcnt(0)
65 ; CI-NEXT: s_add_u32 s4, s0, 4
66 ; CI-NEXT: s_addc_u32 s5, s1, 0
67 ; CI-NEXT: v_mov_b32_e32 v2, s4
68 ; CI-NEXT: v_mov_b32_e32 v4, s3
69 ; CI-NEXT: v_mov_b32_e32 v0, s0
70 ; CI-NEXT: v_mov_b32_e32 v3, s5
71 ; CI-NEXT: v_mov_b32_e32 v1, s1
72 ; CI-NEXT: v_mov_b32_e32 v5, s2
73 ; CI-NEXT: flat_store_short v[2:3], v4
74 ; CI-NEXT: flat_store_dword v[0:1], v5
75 ; CI-NEXT: s_endpgm
100 ; CI-LABEL: load_v4f16_arg:
101 ; CI: ; %bb.0:
102 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
103 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x2
104 ; CI-NEXT: s_waitcnt lgkmcnt(0)
105 ; CI-NEXT: v_mov_b32_e32 v0, s0
106 ; CI-NEXT: v_mov_b32_e32 v2, s2
107 ; CI-NEXT: v_mov_b32_e32 v1, s1
108 ; CI-NEXT: v_mov_b32_e32 v3, s3
109 ; CI-NEXT: flat_store_dwordx2 v[0:1], v[2:3]
110 ; CI-NEXT: s_endpgm
128 ; CI-LABEL: load_v8f16_arg:
129 ; CI: ; %bb.0:
130 ; CI-NEXT: s_load_dwordx2 s[6:7], s[4:5], 0x0
131 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x4
132 ; CI-NEXT: s_waitcnt lgkmcnt(0)
133 ; CI-NEXT: v_mov_b32_e32 v4, s6
134 ; CI-NEXT: v_mov_b32_e32 v0, s0
135 ; CI-NEXT: v_mov_b32_e32 v5, s7
136 ; CI-NEXT: v_mov_b32_e32 v1, s1
137 ; CI-NEXT: v_mov_b32_e32 v2, s2
138 ; CI-NEXT: v_mov_b32_e32 v3, s3
139 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
140 ; CI-NEXT: s_endpgm
160 ; CI-LABEL: extload_v2f16_arg:
161 ; CI: ; %bb.0:
162 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
163 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
164 ; CI-NEXT: s_waitcnt lgkmcnt(0)
165 ; CI-NEXT: s_lshr_b32 s3, s2, 16
166 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s3
167 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s2
168 ; CI-NEXT: v_mov_b32_e32 v3, s1
169 ; CI-NEXT: v_mov_b32_e32 v2, s0
170 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
171 ; CI-NEXT: s_endpgm
191 ; CI-LABEL: extload_f16_to_f32_arg:
192 ; CI: ; %bb.0:
193 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
194 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
195 ; CI-NEXT: s_waitcnt lgkmcnt(0)
196 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s2
197 ; CI-NEXT: v_mov_b32_e32 v0, s0
198 ; CI-NEXT: v_mov_b32_e32 v1, s1
199 ; CI-NEXT: flat_store_dword v[0:1], v2
200 ; CI-NEXT: s_endpgm
218 ; CI-LABEL: extload_v2f16_to_v2f32_arg:
219 ; CI: ; %bb.0:
220 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
221 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
222 ; CI-NEXT: s_waitcnt lgkmcnt(0)
223 ; CI-NEXT: s_lshr_b32 s3, s2, 16
224 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s3
225 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s2
226 ; CI-NEXT: v_mov_b32_e32 v3, s1
227 ; CI-NEXT: v_mov_b32_e32 v2, s0
228 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
229 ; CI-NEXT: s_endpgm
249 ; CI-LABEL: extload_v3f16_to_v3f32_arg:
250 ; CI: ; %bb.0:
251 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x2
252 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x0
253 ; CI-NEXT: s_waitcnt lgkmcnt(0)
254 ; CI-NEXT: s_lshr_b32 s4, s0, 16
255 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s1
256 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s4
257 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
258 ; CI-NEXT: v_mov_b32_e32 v4, s3
259 ; CI-NEXT: v_mov_b32_e32 v3, s2
260 ; CI-NEXT: flat_store_dwordx3 v[3:4], v[0:2]
261 ; CI-NEXT: s_endpgm
282 ; CI-LABEL: extload_v4f16_to_v4f32_arg:
283 ; CI: ; %bb.0:
284 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x2
285 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x0
286 ; CI-NEXT: s_waitcnt lgkmcnt(0)
287 ; CI-NEXT: s_lshr_b32 s4, s1, 16
288 ; CI-NEXT: s_lshr_b32 s5, s0, 16
289 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s1
290 ; CI-NEXT: v_cvt_f32_f16_e32 v3, s4
291 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s5
292 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
293 ; CI-NEXT: v_mov_b32_e32 v5, s3
294 ; CI-NEXT: v_mov_b32_e32 v4, s2
295 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
296 ; CI-NEXT: s_endpgm
319 ; CI-LABEL: extload_v8f16_to_v8f32_arg:
320 ; CI: ; %bb.0:
321 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x4
322 ; CI-NEXT: s_load_dwordx2 s[4:5], s[4:5], 0x0
323 ; CI-NEXT: s_waitcnt lgkmcnt(0)
324 ; CI-NEXT: s_lshr_b32 s6, s1, 16
325 ; CI-NEXT: s_lshr_b32 s7, s0, 16
326 ; CI-NEXT: s_lshr_b32 s8, s3, 16
327 ; CI-NEXT: v_cvt_f32_f16_e32 v3, s6
328 ; CI-NEXT: s_lshr_b32 s6, s2, 16
329 ; CI-NEXT: v_cvt_f32_f16_e32 v7, s8
330 ; CI-NEXT: v_cvt_f32_f16_e32 v5, s6
331 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
332 ; CI-NEXT: v_cvt_f32_f16_e32 v6, s3
333 ; CI-NEXT: v_cvt_f32_f16_e32 v4, s2
334 ; CI-NEXT: s_add_u32 s0, s4, 16
335 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s1
336 ; CI-NEXT: s_addc_u32 s1, s5, 0
337 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s7
338 ; CI-NEXT: v_mov_b32_e32 v9, s1
339 ; CI-NEXT: v_mov_b32_e32 v8, s0
340 ; CI-NEXT: flat_store_dwordx4 v[8:9], v[4:7]
341 ; CI-NEXT: s_nop 0
342 ; CI-NEXT: v_mov_b32_e32 v4, s4
343 ; CI-NEXT: v_mov_b32_e32 v5, s5
344 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
345 ; CI-NEXT: s_endpgm
380 ; CI-LABEL: extload_f16_to_f64_arg:
381 ; CI: ; %bb.0:
382 ; CI-NEXT: s_load_dword s0, s[4:5], 0x2
383 ; CI-NEXT: s_waitcnt lgkmcnt(0)
384 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
385 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
386 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v0
387 ; CI-NEXT: s_waitcnt lgkmcnt(0)
388 ; CI-NEXT: v_mov_b32_e32 v3, s1
389 ; CI-NEXT: v_mov_b32_e32 v2, s0
390 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
391 ; CI-NEXT: s_endpgm
411 ; CI-LABEL: extload_v2f16_to_v2f64_arg:
412 ; CI: ; %bb.0:
413 ; CI-NEXT: s_load_dword s0, s[4:5], 0x2
414 ; CI-NEXT: s_waitcnt lgkmcnt(0)
415 ; CI-NEXT: s_lshr_b32 s1, s0, 16
416 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s1
417 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s0
418 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
419 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v0
420 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v1
421 ; CI-NEXT: s_waitcnt lgkmcnt(0)
422 ; CI-NEXT: v_mov_b32_e32 v5, s1
423 ; CI-NEXT: v_mov_b32_e32 v4, s0
424 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
425 ; CI-NEXT: s_endpgm
448 ; CI-LABEL: extload_v3f16_to_v3f64_arg:
449 ; CI: ; %bb.0:
450 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x2
451 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x0
452 ; CI-NEXT: s_waitcnt lgkmcnt(0)
453 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s1
454 ; CI-NEXT: s_lshr_b32 s4, s0, 16
455 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s0
456 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s4
457 ; CI-NEXT: s_add_u32 s0, s2, 16
458 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v0
459 ; CI-NEXT: s_addc_u32 s1, s3, 0
460 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v1
461 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
462 ; CI-NEXT: v_mov_b32_e32 v7, s1
463 ; CI-NEXT: v_mov_b32_e32 v6, s0
464 ; CI-NEXT: flat_store_dwordx2 v[6:7], v[4:5]
465 ; CI-NEXT: v_mov_b32_e32 v5, s3
466 ; CI-NEXT: v_mov_b32_e32 v4, s2
467 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
468 ; CI-NEXT: s_endpgm
497 ; CI-LABEL: extload_v4f16_to_v4f64_arg:
498 ; CI: ; %bb.0:
499 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x2
500 ; CI-NEXT: s_load_dwordx2 s[2:3], s[4:5], 0x0
501 ; CI-NEXT: s_waitcnt lgkmcnt(0)
502 ; CI-NEXT: s_lshr_b32 s4, s1, 16
503 ; CI-NEXT: v_cvt_f32_f16_e32 v4, s4
504 ; CI-NEXT: v_cvt_f32_f16_e32 v5, s1
505 ; CI-NEXT: s_lshr_b32 s5, s0, 16
506 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
507 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s5
508 ; CI-NEXT: v_cvt_f64_f32_e32 v[6:7], v4
509 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v5
510 ; CI-NEXT: s_add_u32 s0, s2, 16
511 ; CI-NEXT: s_addc_u32 s1, s3, 0
512 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v0
513 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
514 ; CI-NEXT: v_mov_b32_e32 v9, s1
515 ; CI-NEXT: v_mov_b32_e32 v8, s0
516 ; CI-NEXT: flat_store_dwordx4 v[8:9], v[4:7]
517 ; CI-NEXT: s_nop 0
518 ; CI-NEXT: v_mov_b32_e32 v5, s3
519 ; CI-NEXT: v_mov_b32_e32 v4, s2
520 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
521 ; CI-NEXT: s_endpgm
554 ; CI-LABEL: extload_v8f16_to_v8f64_arg:
555 ; CI: ; %bb.0:
556 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x4
557 ; CI-NEXT: s_load_dwordx2 s[4:5], s[4:5], 0x0
558 ; CI-NEXT: s_waitcnt lgkmcnt(0)
559 ; CI-NEXT: s_lshr_b32 s6, s3, 16
560 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s6
561 ; CI-NEXT: v_cvt_f32_f16_e32 v12, s3
562 ; CI-NEXT: s_lshr_b32 s7, s2, 16
563 ; CI-NEXT: s_lshr_b32 s8, s1, 16
564 ; CI-NEXT: s_lshr_b32 s6, s0, 16
565 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s7
566 ; CI-NEXT: v_cvt_f32_f16_e32 v8, s2
567 ; CI-NEXT: v_cvt_f32_f16_e32 v9, s0
568 ; CI-NEXT: s_add_u32 s0, s4, 48
569 ; CI-NEXT: v_cvt_f32_f16_e32 v5, s1
570 ; CI-NEXT: v_cvt_f64_f32_e32 v[14:15], v0
571 ; CI-NEXT: v_cvt_f64_f32_e32 v[12:13], v12
572 ; CI-NEXT: s_addc_u32 s1, s5, 0
573 ; CI-NEXT: v_cvt_f32_f16_e32 v4, s8
574 ; CI-NEXT: v_mov_b32_e32 v17, s1
575 ; CI-NEXT: v_mov_b32_e32 v16, s0
576 ; CI-NEXT: s_add_u32 s0, s4, 32
577 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s6
578 ; CI-NEXT: v_cvt_f64_f32_e32 v[10:11], v1
579 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v9
580 ; CI-NEXT: v_cvt_f64_f32_e32 v[8:9], v8
581 ; CI-NEXT: s_addc_u32 s1, s5, 0
582 ; CI-NEXT: flat_store_dwordx4 v[16:17], v[12:15]
583 ; CI-NEXT: v_cvt_f64_f32_e32 v[6:7], v4
584 ; CI-NEXT: v_mov_b32_e32 v13, s1
585 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v5
586 ; CI-NEXT: v_mov_b32_e32 v12, s0
587 ; CI-NEXT: s_add_u32 s0, s4, 16
588 ; CI-NEXT: s_addc_u32 s1, s5, 0
589 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
590 ; CI-NEXT: flat_store_dwordx4 v[12:13], v[8:11]
591 ; CI-NEXT: s_nop 0
592 ; CI-NEXT: v_mov_b32_e32 v9, s1
593 ; CI-NEXT: v_mov_b32_e32 v8, s0
594 ; CI-NEXT: flat_store_dwordx4 v[8:9], v[4:7]
595 ; CI-NEXT: s_nop 0
596 ; CI-NEXT: v_mov_b32_e32 v4, s4
597 ; CI-NEXT: v_mov_b32_e32 v5, s5
598 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
599 ; CI-NEXT: s_endpgm
745 ; CI-LABEL: global_extload_v2f16_to_v2f32:
746 ; CI: ; %bb.0:
747 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
748 ; CI-NEXT: s_waitcnt lgkmcnt(0)
749 ; CI-NEXT: v_mov_b32_e32 v0, s2
750 ; CI-NEXT: v_mov_b32_e32 v1, s3
751 ; CI-NEXT: flat_load_dword v1, v[0:1]
752 ; CI-NEXT: v_mov_b32_e32 v2, s0
753 ; CI-NEXT: v_mov_b32_e32 v3, s1
754 ; CI-NEXT: s_waitcnt vmcnt(0)
755 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v1
756 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
757 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v1
758 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
759 ; CI-NEXT: s_endpgm
782 ; CI-LABEL: global_extload_v3f16_to_v3f32:
783 ; CI: ; %bb.0:
784 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
785 ; CI-NEXT: s_waitcnt lgkmcnt(0)
786 ; CI-NEXT: v_mov_b32_e32 v0, s2
787 ; CI-NEXT: v_mov_b32_e32 v1, s3
788 ; CI-NEXT: flat_load_dwordx2 v[1:2], v[0:1]
789 ; CI-NEXT: v_mov_b32_e32 v3, s0
790 ; CI-NEXT: v_mov_b32_e32 v4, s1
791 ; CI-NEXT: s_waitcnt vmcnt(0)
792 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v1
793 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
794 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
795 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v1
796 ; CI-NEXT: flat_store_dwordx3 v[3:4], v[0:2]
797 ; CI-NEXT: s_endpgm
821 ; CI-LABEL: global_extload_v4f16_to_v4f32:
822 ; CI: ; %bb.0:
823 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
824 ; CI-NEXT: s_waitcnt lgkmcnt(0)
825 ; CI-NEXT: v_mov_b32_e32 v0, s2
826 ; CI-NEXT: v_mov_b32_e32 v1, s3
827 ; CI-NEXT: flat_load_dwordx2 v[3:4], v[0:1]
828 ; CI-NEXT: v_mov_b32_e32 v5, s1
829 ; CI-NEXT: s_waitcnt vmcnt(0)
830 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v4
831 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v4
832 ; CI-NEXT: v_lshrrev_b32_e32 v4, 16, v3
833 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v3
834 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v1
835 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v4
836 ; CI-NEXT: v_mov_b32_e32 v4, s0
837 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
838 ; CI-NEXT: s_endpgm
863 ; CI-LABEL: global_extload_v8f16_to_v8f32:
864 ; CI: ; %bb.0:
865 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
866 ; CI-NEXT: s_waitcnt lgkmcnt(0)
867 ; CI-NEXT: v_mov_b32_e32 v0, s2
868 ; CI-NEXT: v_mov_b32_e32 v1, s3
869 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
870 ; CI-NEXT: s_add_u32 s2, s0, 16
871 ; CI-NEXT: s_addc_u32 s3, s1, 0
872 ; CI-NEXT: v_mov_b32_e32 v13, s1
873 ; CI-NEXT: v_mov_b32_e32 v12, s0
874 ; CI-NEXT: s_waitcnt vmcnt(0)
875 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v3
876 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v2
877 ; CI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
878 ; CI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
879 ; CI-NEXT: v_cvt_f32_f16_e32 v6, v1
880 ; CI-NEXT: v_cvt_f32_f16_e32 v4, v0
881 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
882 ; CI-NEXT: v_lshrrev_b32_e32 v0, 16, v0
883 ; CI-NEXT: v_cvt_f32_f16_e32 v11, v3
884 ; CI-NEXT: v_cvt_f32_f16_e32 v9, v2
885 ; CI-NEXT: v_cvt_f32_f16_e32 v7, v1
886 ; CI-NEXT: v_cvt_f32_f16_e32 v5, v0
887 ; CI-NEXT: v_mov_b32_e32 v0, s2
888 ; CI-NEXT: v_mov_b32_e32 v1, s3
889 ; CI-NEXT: flat_store_dwordx4 v[0:1], v[8:11]
890 ; CI-NEXT: flat_store_dwordx4 v[12:13], v[4:7]
891 ; CI-NEXT: s_endpgm
925 ; CI-LABEL: global_extload_v16f16_to_v16f32:
926 ; CI: ; %bb.0:
927 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
928 ; CI-NEXT: s_waitcnt lgkmcnt(0)
929 ; CI-NEXT: s_add_u32 s4, s2, 16
930 ; CI-NEXT: v_mov_b32_e32 v5, s3
931 ; CI-NEXT: s_addc_u32 s5, s3, 0
932 ; CI-NEXT: v_mov_b32_e32 v0, s4
933 ; CI-NEXT: v_mov_b32_e32 v4, s2
934 ; CI-NEXT: v_mov_b32_e32 v1, s5
935 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
936 ; CI-NEXT: flat_load_dwordx4 v[4:7], v[4:5]
937 ; CI-NEXT: s_add_u32 s2, s0, 16
938 ; CI-NEXT: s_addc_u32 s3, s1, 0
939 ; CI-NEXT: v_mov_b32_e32 v14, s3
940 ; CI-NEXT: v_mov_b32_e32 v13, s2
941 ; CI-NEXT: s_add_u32 s2, s0, 48
942 ; CI-NEXT: s_addc_u32 s3, s1, 0
943 ; CI-NEXT: s_waitcnt vmcnt(1)
944 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v1
945 ; CI-NEXT: s_waitcnt vmcnt(0)
946 ; CI-NEXT: v_cvt_f32_f16_e32 v11, v7
947 ; CI-NEXT: v_cvt_f32_f16_e32 v9, v6
948 ; CI-NEXT: v_lshrrev_b32_e32 v7, 16, v7
949 ; CI-NEXT: v_lshrrev_b32_e32 v6, 16, v6
950 ; CI-NEXT: v_cvt_f32_f16_e32 v12, v7
951 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v6
952 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
953 ; CI-NEXT: v_lshrrev_b32_e32 v16, 16, v5
954 ; CI-NEXT: v_lshrrev_b32_e32 v17, 16, v4
955 ; CI-NEXT: flat_store_dwordx4 v[13:14], v[9:12]
956 ; CI-NEXT: v_cvt_f32_f16_e32 v6, v0
957 ; CI-NEXT: v_cvt_f32_f16_e32 v12, v3
958 ; CI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
959 ; CI-NEXT: v_lshrrev_b32_e32 v7, 16, v0
960 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v2
961 ; CI-NEXT: v_lshrrev_b32_e32 v11, 16, v2
962 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v5
963 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v4
964 ; CI-NEXT: v_mov_b32_e32 v5, s1
965 ; CI-NEXT: v_cvt_f32_f16_e32 v9, v1
966 ; CI-NEXT: v_cvt_f32_f16_e32 v13, v3
967 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v16
968 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v17
969 ; CI-NEXT: v_mov_b32_e32 v4, s0
970 ; CI-NEXT: s_add_u32 s0, s0, 32
971 ; CI-NEXT: v_cvt_f32_f16_e32 v11, v11
972 ; CI-NEXT: s_addc_u32 s1, s1, 0
973 ; CI-NEXT: v_cvt_f32_f16_e32 v7, v7
974 ; CI-NEXT: v_mov_b32_e32 v15, s3
975 ; CI-NEXT: v_mov_b32_e32 v17, s1
976 ; CI-NEXT: v_mov_b32_e32 v14, s2
977 ; CI-NEXT: v_mov_b32_e32 v16, s0
978 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
979 ; CI-NEXT: flat_store_dwordx4 v[14:15], v[10:13]
980 ; CI-NEXT: flat_store_dwordx4 v[16:17], v[6:9]
981 ; CI-NEXT: s_endpgm
1060 ; CI-LABEL: global_extload_v2f16_to_v2f64:
1061 ; CI: ; %bb.0:
1062 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1063 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1064 ; CI-NEXT: v_mov_b32_e32 v0, s2
1065 ; CI-NEXT: v_mov_b32_e32 v1, s3
1066 ; CI-NEXT: flat_load_dword v0, v[0:1]
1067 ; CI-NEXT: v_mov_b32_e32 v4, s0
1068 ; CI-NEXT: v_mov_b32_e32 v5, s1
1069 ; CI-NEXT: s_waitcnt vmcnt(0)
1070 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v0
1071 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v0
1072 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v1
1073 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v0
1074 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
1075 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
1076 ; CI-NEXT: s_endpgm
1101 ; CI-LABEL: global_extload_v3f16_to_v3f64:
1102 ; CI: ; %bb.0:
1103 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1104 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1105 ; CI-NEXT: v_mov_b32_e32 v0, s2
1106 ; CI-NEXT: v_mov_b32_e32 v1, s3
1107 ; CI-NEXT: flat_load_dwordx2 v[0:1], v[0:1]
1108 ; CI-NEXT: s_add_u32 s2, s0, 16
1109 ; CI-NEXT: s_addc_u32 s3, s1, 0
1110 ; CI-NEXT: v_mov_b32_e32 v7, s3
1111 ; CI-NEXT: v_mov_b32_e32 v6, s2
1112 ; CI-NEXT: s_waitcnt vmcnt(0)
1113 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v1
1114 ; CI-NEXT: v_lshrrev_b32_e32 v2, 16, v0
1115 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v0
1116 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
1117 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v1
1118 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v0
1119 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
1120 ; CI-NEXT: flat_store_dwordx2 v[6:7], v[4:5]
1121 ; CI-NEXT: v_mov_b32_e32 v5, s1
1122 ; CI-NEXT: v_mov_b32_e32 v4, s0
1123 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
1124 ; CI-NEXT: s_endpgm
1156 ; CI-LABEL: global_extload_v4f16_to_v4f64:
1157 ; CI: ; %bb.0:
1158 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1159 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1160 ; CI-NEXT: v_mov_b32_e32 v0, s2
1161 ; CI-NEXT: v_mov_b32_e32 v1, s3
1162 ; CI-NEXT: flat_load_dwordx2 v[0:1], v[0:1]
1163 ; CI-NEXT: s_add_u32 s2, s0, 16
1164 ; CI-NEXT: s_addc_u32 s3, s1, 0
1165 ; CI-NEXT: v_mov_b32_e32 v9, s1
1166 ; CI-NEXT: v_mov_b32_e32 v8, s0
1167 ; CI-NEXT: s_waitcnt vmcnt(0)
1168 ; CI-NEXT: v_lshrrev_b32_e32 v2, 16, v1
1169 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v1
1170 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v0
1171 ; CI-NEXT: v_lshrrev_b32_e32 v0, 16, v0
1172 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
1173 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v0
1174 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v3
1175 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v1
1176 ; CI-NEXT: v_cvt_f64_f32_e32 v[6:7], v2
1177 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v10
1178 ; CI-NEXT: v_mov_b32_e32 v11, s3
1179 ; CI-NEXT: v_mov_b32_e32 v10, s2
1180 ; CI-NEXT: flat_store_dwordx4 v[10:11], v[4:7]
1181 ; CI-NEXT: flat_store_dwordx4 v[8:9], v[0:3]
1182 ; CI-NEXT: s_endpgm
1216 ; CI-LABEL: global_extload_v8f16_to_v8f64:
1217 ; CI: ; %bb.0:
1218 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1219 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1220 ; CI-NEXT: v_mov_b32_e32 v0, s2
1221 ; CI-NEXT: v_mov_b32_e32 v1, s3
1222 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1223 ; CI-NEXT: s_add_u32 s2, s0, 48
1224 ; CI-NEXT: s_addc_u32 s3, s1, 0
1225 ; CI-NEXT: v_mov_b32_e32 v7, s3
1226 ; CI-NEXT: v_mov_b32_e32 v6, s2
1227 ; CI-NEXT: s_add_u32 s2, s0, 32
1228 ; CI-NEXT: v_mov_b32_e32 v13, s1
1229 ; CI-NEXT: s_addc_u32 s3, s1, 0
1230 ; CI-NEXT: v_mov_b32_e32 v12, s0
1231 ; CI-NEXT: s_add_u32 s0, s0, 16
1232 ; CI-NEXT: v_mov_b32_e32 v15, s3
1233 ; CI-NEXT: s_addc_u32 s1, s1, 0
1234 ; CI-NEXT: v_mov_b32_e32 v14, s2
1235 ; CI-NEXT: s_waitcnt vmcnt(0)
1236 ; CI-NEXT: v_lshrrev_b32_e32 v4, 16, v3
1237 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v3
1238 ; CI-NEXT: v_lshrrev_b32_e32 v5, 16, v2
1239 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v2
1240 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v4
1241 ; CI-NEXT: v_lshrrev_b32_e32 v9, 16, v1
1242 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v1
1243 ; CI-NEXT: v_lshrrev_b32_e32 v11, 16, v0
1244 ; CI-NEXT: v_cvt_f32_f16_e32 v4, v0
1245 ; CI-NEXT: v_cvt_f32_f16_e32 v16, v5
1246 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v3
1247 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
1248 ; CI-NEXT: v_cvt_f32_f16_e32 v17, v9
1249 ; CI-NEXT: v_cvt_f32_f16_e32 v18, v11
1250 ; CI-NEXT: v_cvt_f64_f32_e32 v[8:9], v8
1251 ; CI-NEXT: flat_store_dwordx4 v[6:7], v[0:3]
1252 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v4
1253 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v10
1254 ; CI-NEXT: v_cvt_f64_f32_e32 v[10:11], v16
1255 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v17
1256 ; CI-NEXT: v_cvt_f64_f32_e32 v[6:7], v18
1257 ; CI-NEXT: v_mov_b32_e32 v17, s1
1258 ; CI-NEXT: v_mov_b32_e32 v16, s0
1259 ; CI-NEXT: flat_store_dwordx4 v[14:15], v[8:11]
1260 ; CI-NEXT: flat_store_dwordx4 v[16:17], v[0:3]
1261 ; CI-NEXT: flat_store_dwordx4 v[12:13], v[4:7]
1262 ; CI-NEXT: s_endpgm
1314 ; CI-LABEL: global_extload_v16f16_to_v16f64:
1315 ; CI: ; %bb.0:
1316 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1317 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1318 ; CI-NEXT: v_mov_b32_e32 v0, s2
1319 ; CI-NEXT: v_mov_b32_e32 v1, s3
1320 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1321 ; CI-NEXT: s_add_u32 s2, s2, 16
1322 ; CI-NEXT: s_addc_u32 s3, s3, 0
1323 ; CI-NEXT: v_mov_b32_e32 v5, s3
1324 ; CI-NEXT: v_mov_b32_e32 v4, s2
1325 ; CI-NEXT: flat_load_dwordx4 v[4:7], v[4:5]
1326 ; CI-NEXT: s_add_u32 s2, s0, 48
1327 ; CI-NEXT: s_addc_u32 s3, s1, 0
1328 ; CI-NEXT: v_mov_b32_e32 v15, s3
1329 ; CI-NEXT: v_mov_b32_e32 v14, s2
1330 ; CI-NEXT: s_add_u32 s2, s0, 32
1331 ; CI-NEXT: s_addc_u32 s3, s1, 0
1332 ; CI-NEXT: v_mov_b32_e32 v17, s3
1333 ; CI-NEXT: v_mov_b32_e32 v16, s2
1334 ; CI-NEXT: s_add_u32 s2, s0, 16
1335 ; CI-NEXT: s_addc_u32 s3, s1, 0
1336 ; CI-NEXT: v_mov_b32_e32 v19, s3
1337 ; CI-NEXT: v_mov_b32_e32 v18, s2
1338 ; CI-NEXT: s_add_u32 s2, s0, 0x70
1339 ; CI-NEXT: s_addc_u32 s3, s1, 0
1340 ; CI-NEXT: v_mov_b32_e32 v13, s1
1341 ; CI-NEXT: v_mov_b32_e32 v12, s0
1342 ; CI-NEXT: s_waitcnt vmcnt(1)
1343 ; CI-NEXT: v_lshrrev_b32_e32 v8, 16, v3
1344 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v3
1345 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v8
1346 ; CI-NEXT: s_waitcnt vmcnt(0)
1347 ; CI-NEXT: v_lshrrev_b32_e32 v20, 16, v5
1348 ; CI-NEXT: v_cvt_f64_f32_e32 v[8:9], v3
1349 ; CI-NEXT: v_lshrrev_b32_e32 v3, 16, v2
1350 ; CI-NEXT: v_cvt_f64_f32_e32 v[10:11], v10
1351 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
1352 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v3
1353 ; CI-NEXT: v_cvt_f32_f16_e32 v21, v5
1354 ; CI-NEXT: flat_store_dwordx4 v[14:15], v[8:11]
1355 ; CI-NEXT: v_mov_b32_e32 v15, s3
1356 ; CI-NEXT: v_cvt_f64_f32_e32 v[8:9], v2
1357 ; CI-NEXT: v_cvt_f64_f32_e32 v[10:11], v3
1358 ; CI-NEXT: v_lshrrev_b32_e32 v2, 16, v1
1359 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v1
1360 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
1361 ; CI-NEXT: flat_store_dwordx4 v[16:17], v[8:11]
1362 ; CI-NEXT: v_mov_b32_e32 v14, s2
1363 ; CI-NEXT: v_lshrrev_b32_e32 v8, 16, v0
1364 ; CI-NEXT: v_cvt_f32_f16_e32 v9, v0
1365 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v1
1366 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v2
1367 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v8
1368 ; CI-NEXT: v_lshrrev_b32_e32 v10, 16, v7
1369 ; CI-NEXT: v_cvt_f32_f16_e32 v7, v7
1370 ; CI-NEXT: flat_store_dwordx4 v[18:19], v[0:3]
1371 ; CI-NEXT: v_lshrrev_b32_e32 v11, 16, v6
1372 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v9
1373 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v8
1374 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v10
1375 ; CI-NEXT: s_add_u32 s2, s0, 0x60
1376 ; CI-NEXT: v_cvt_f32_f16_e32 v6, v6
1377 ; CI-NEXT: v_cvt_f32_f16_e32 v10, v11
1378 ; CI-NEXT: s_addc_u32 s3, s1, 0
1379 ; CI-NEXT: v_lshrrev_b32_e32 v5, 16, v4
1380 ; CI-NEXT: flat_store_dwordx4 v[12:13], v[0:3]
1381 ; CI-NEXT: v_mov_b32_e32 v17, s3
1382 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v7
1383 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v8
1384 ; CI-NEXT: v_cvt_f32_f16_e32 v7, v20
1385 ; CI-NEXT: v_cvt_f32_f16_e32 v4, v4
1386 ; CI-NEXT: v_cvt_f32_f16_e32 v12, v5
1387 ; CI-NEXT: v_mov_b32_e32 v16, s2
1388 ; CI-NEXT: s_add_u32 s2, s0, 0x50
1389 ; CI-NEXT: s_addc_u32 s3, s1, 0
1390 ; CI-NEXT: v_cvt_f64_f32_e32 v[8:9], v6
1391 ; CI-NEXT: v_cvt_f64_f32_e32 v[10:11], v10
1392 ; CI-NEXT: s_add_u32 s0, s0, 64
1393 ; CI-NEXT: flat_store_dwordx4 v[14:15], v[0:3]
1394 ; CI-NEXT: s_addc_u32 s1, s1, 0
1395 ; CI-NEXT: v_cvt_f64_f32_e32 v[0:1], v21
1396 ; CI-NEXT: v_cvt_f64_f32_e32 v[2:3], v7
1397 ; CI-NEXT: v_cvt_f64_f32_e32 v[4:5], v4
1398 ; CI-NEXT: v_cvt_f64_f32_e32 v[6:7], v12
1399 ; CI-NEXT: v_mov_b32_e32 v19, s3
1400 ; CI-NEXT: v_mov_b32_e32 v13, s1
1401 ; CI-NEXT: v_mov_b32_e32 v18, s2
1402 ; CI-NEXT: v_mov_b32_e32 v12, s0
1403 ; CI-NEXT: flat_store_dwordx4 v[16:17], v[8:11]
1404 ; CI-NEXT: flat_store_dwordx4 v[18:19], v[0:3]
1405 ; CI-NEXT: flat_store_dwordx4 v[12:13], v[4:7]
1406 ; CI-NEXT: s_endpgm
1521 ; CI-LABEL: global_truncstore_v2f32_to_v2f16:
1522 ; CI: ; %bb.0:
1523 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1524 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1525 ; CI-NEXT: v_mov_b32_e32 v0, s2
1526 ; CI-NEXT: v_mov_b32_e32 v1, s3
1527 ; CI-NEXT: flat_load_dwordx2 v[0:1], v[0:1]
1528 ; CI-NEXT: s_waitcnt vmcnt(0)
1529 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v1
1530 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v0
1531 ; CI-NEXT: v_mov_b32_e32 v0, s0
1532 ; CI-NEXT: v_mov_b32_e32 v1, s1
1533 ; CI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
1534 ; CI-NEXT: v_or_b32_e32 v2, v3, v2
1535 ; CI-NEXT: flat_store_dword v[0:1], v2
1536 ; CI-NEXT: s_endpgm
1560 ; CI-LABEL: global_truncstore_v3f32_to_v3f16:
1561 ; CI: ; %bb.0:
1562 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1563 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1564 ; CI-NEXT: v_mov_b32_e32 v0, s2
1565 ; CI-NEXT: v_mov_b32_e32 v1, s3
1566 ; CI-NEXT: flat_load_dwordx3 v[0:2], v[0:1]
1567 ; CI-NEXT: s_add_u32 s2, s0, 4
1568 ; CI-NEXT: s_addc_u32 s3, s1, 0
1569 ; CI-NEXT: s_waitcnt vmcnt(0)
1570 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v1
1571 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v2
1572 ; CI-NEXT: v_cvt_f16_f32_e32 v4, v0
1573 ; CI-NEXT: v_mov_b32_e32 v0, s2
1574 ; CI-NEXT: v_mov_b32_e32 v1, s3
1575 ; CI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1576 ; CI-NEXT: flat_store_short v[0:1], v2
1577 ; CI-NEXT: v_mov_b32_e32 v0, s0
1578 ; CI-NEXT: v_or_b32_e32 v2, v4, v3
1579 ; CI-NEXT: v_mov_b32_e32 v1, s1
1580 ; CI-NEXT: flat_store_dword v[0:1], v2
1581 ; CI-NEXT: s_endpgm
1611 ; CI-LABEL: global_truncstore_v4f32_to_v4f16:
1612 ; CI: ; %bb.0:
1613 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1614 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1615 ; CI-NEXT: v_mov_b32_e32 v0, s2
1616 ; CI-NEXT: v_mov_b32_e32 v1, s3
1617 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1618 ; CI-NEXT: v_mov_b32_e32 v4, s0
1619 ; CI-NEXT: v_mov_b32_e32 v5, s1
1620 ; CI-NEXT: s_waitcnt vmcnt(0)
1621 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v3
1622 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
1623 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v2
1624 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
1625 ; CI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1626 ; CI-NEXT: v_lshlrev_b32_e32 v6, 16, v1
1627 ; CI-NEXT: v_or_b32_e32 v1, v2, v3
1628 ; CI-NEXT: v_or_b32_e32 v0, v0, v6
1629 ; CI-NEXT: flat_store_dwordx2 v[4:5], v[0:1]
1630 ; CI-NEXT: s_endpgm
1657 ; CI-LABEL: global_truncstore_v8f32_to_v8f16:
1658 ; CI: ; %bb.0:
1659 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1660 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1661 ; CI-NEXT: v_mov_b32_e32 v0, s2
1662 ; CI-NEXT: v_mov_b32_e32 v1, s3
1663 ; CI-NEXT: s_add_u32 s2, s2, 16
1664 ; CI-NEXT: s_addc_u32 s3, s3, 0
1665 ; CI-NEXT: v_mov_b32_e32 v5, s3
1666 ; CI-NEXT: v_mov_b32_e32 v4, s2
1667 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1668 ; CI-NEXT: flat_load_dwordx4 v[4:7], v[4:5]
1669 ; CI-NEXT: v_mov_b32_e32 v8, s0
1670 ; CI-NEXT: v_mov_b32_e32 v9, s1
1671 ; CI-NEXT: s_waitcnt vmcnt(1)
1672 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v3
1673 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
1674 ; CI-NEXT: s_waitcnt vmcnt(0)
1675 ; CI-NEXT: v_cvt_f16_f32_e32 v7, v7
1676 ; CI-NEXT: v_cvt_f16_f32_e32 v5, v5
1677 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v2
1678 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
1679 ; CI-NEXT: v_cvt_f16_f32_e32 v6, v6
1680 ; CI-NEXT: v_cvt_f16_f32_e32 v4, v4
1681 ; CI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1682 ; CI-NEXT: v_lshlrev_b32_e32 v10, 16, v1
1683 ; CI-NEXT: v_lshlrev_b32_e32 v7, 16, v7
1684 ; CI-NEXT: v_lshlrev_b32_e32 v5, 16, v5
1685 ; CI-NEXT: v_or_b32_e32 v1, v2, v3
1686 ; CI-NEXT: v_or_b32_e32 v0, v0, v10
1687 ; CI-NEXT: v_or_b32_e32 v3, v6, v7
1688 ; CI-NEXT: v_or_b32_e32 v2, v4, v5
1689 ; CI-NEXT: flat_store_dwordx4 v[8:9], v[0:3]
1690 ; CI-NEXT: s_endpgm
1729 ; CI-LABEL: global_truncstore_v16f32_to_v16f16:
1730 ; CI: ; %bb.0:
1731 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1732 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1733 ; CI-NEXT: s_add_u32 s4, s2, 32
1734 ; CI-NEXT: s_addc_u32 s5, s3, 0
1735 ; CI-NEXT: v_mov_b32_e32 v0, s4
1736 ; CI-NEXT: v_mov_b32_e32 v1, s5
1737 ; CI-NEXT: s_add_u32 s4, s2, 48
1738 ; CI-NEXT: s_addc_u32 s5, s3, 0
1739 ; CI-NEXT: v_mov_b32_e32 v9, s3
1740 ; CI-NEXT: v_mov_b32_e32 v4, s4
1741 ; CI-NEXT: v_mov_b32_e32 v8, s2
1742 ; CI-NEXT: s_add_u32 s2, s2, 16
1743 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1744 ; CI-NEXT: v_mov_b32_e32 v5, s5
1745 ; CI-NEXT: flat_load_dwordx4 v[4:7], v[4:5]
1746 ; CI-NEXT: s_addc_u32 s3, s3, 0
1747 ; CI-NEXT: v_mov_b32_e32 v13, s3
1748 ; CI-NEXT: v_mov_b32_e32 v12, s2
1749 ; CI-NEXT: flat_load_dwordx4 v[8:11], v[8:9]
1750 ; CI-NEXT: flat_load_dwordx4 v[12:15], v[12:13]
1751 ; CI-NEXT: s_add_u32 s2, s0, 16
1752 ; CI-NEXT: s_addc_u32 s3, s1, 0
1753 ; CI-NEXT: s_waitcnt vmcnt(3)
1754 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v3
1755 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v2
1756 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
1757 ; CI-NEXT: s_waitcnt vmcnt(2)
1758 ; CI-NEXT: v_cvt_f16_f32_e32 v7, v7
1759 ; CI-NEXT: v_cvt_f16_f32_e32 v16, v5
1760 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
1761 ; CI-NEXT: v_cvt_f16_f32_e32 v6, v6
1762 ; CI-NEXT: v_cvt_f16_f32_e32 v17, v4
1763 ; CI-NEXT: s_waitcnt vmcnt(1)
1764 ; CI-NEXT: v_cvt_f16_f32_e32 v11, v11
1765 ; CI-NEXT: v_cvt_f16_f32_e32 v9, v9
1766 ; CI-NEXT: s_waitcnt vmcnt(0)
1767 ; CI-NEXT: v_cvt_f16_f32_e32 v15, v15
1768 ; CI-NEXT: v_cvt_f16_f32_e32 v13, v13
1769 ; CI-NEXT: v_cvt_f16_f32_e32 v10, v10
1770 ; CI-NEXT: v_cvt_f16_f32_e32 v8, v8
1771 ; CI-NEXT: v_cvt_f16_f32_e32 v14, v14
1772 ; CI-NEXT: v_cvt_f16_f32_e32 v12, v12
1773 ; CI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1774 ; CI-NEXT: v_mov_b32_e32 v5, s3
1775 ; CI-NEXT: v_lshlrev_b32_e32 v18, 16, v1
1776 ; CI-NEXT: v_or_b32_e32 v1, v2, v3
1777 ; CI-NEXT: v_lshlrev_b32_e32 v2, 16, v7
1778 ; CI-NEXT: v_lshlrev_b32_e32 v7, 16, v16
1779 ; CI-NEXT: v_mov_b32_e32 v4, s2
1780 ; CI-NEXT: v_or_b32_e32 v0, v0, v18
1781 ; CI-NEXT: v_or_b32_e32 v3, v6, v2
1782 ; CI-NEXT: v_or_b32_e32 v2, v17, v7
1783 ; CI-NEXT: v_lshlrev_b32_e32 v6, 16, v11
1784 ; CI-NEXT: v_lshlrev_b32_e32 v7, 16, v9
1785 ; CI-NEXT: v_lshlrev_b32_e32 v9, 16, v15
1786 ; CI-NEXT: v_lshlrev_b32_e32 v11, 16, v13
1787 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
1788 ; CI-NEXT: v_mov_b32_e32 v5, s1
1789 ; CI-NEXT: v_or_b32_e32 v1, v10, v6
1790 ; CI-NEXT: v_or_b32_e32 v0, v8, v7
1791 ; CI-NEXT: v_or_b32_e32 v3, v14, v9
1792 ; CI-NEXT: v_or_b32_e32 v2, v12, v11
1793 ; CI-NEXT: v_mov_b32_e32 v4, s0
1794 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
1795 ; CI-NEXT: s_endpgm
1864 ; CI-LABEL: fadd_f16:
1865 ; CI: ; %bb.0:
1866 ; CI-NEXT: s_load_dword s0, s[4:5], 0x2
1867 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1868 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
1869 ; CI-NEXT: s_lshr_b32 s0, s0, 16
1870 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s0
1871 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1872 ; CI-NEXT: v_add_f32_e32 v0, v0, v1
1873 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v0
1874 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1875 ; CI-NEXT: v_mov_b32_e32 v0, s0
1876 ; CI-NEXT: v_mov_b32_e32 v1, s1
1877 ; CI-NEXT: flat_store_short v[0:1], v2
1878 ; CI-NEXT: s_endpgm
1898 ; CI-LABEL: fadd_v2f16:
1899 ; CI: ; %bb.0:
1900 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x2
1901 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1902 ; CI-NEXT: s_lshr_b32 s2, s0, 16
1903 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s0
1904 ; CI-NEXT: s_lshr_b32 s0, s1, 16
1905 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s1
1906 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s2
1907 ; CI-NEXT: v_cvt_f32_f16_e32 v3, s0
1908 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1909 ; CI-NEXT: v_add_f32_e32 v0, v0, v1
1910 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
1911 ; CI-NEXT: v_add_f32_e32 v1, v2, v3
1912 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
1913 ; CI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
1914 ; CI-NEXT: v_or_b32_e32 v2, v0, v1
1915 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1916 ; CI-NEXT: v_mov_b32_e32 v0, s0
1917 ; CI-NEXT: v_mov_b32_e32 v1, s1
1918 ; CI-NEXT: flat_store_dword v[0:1], v2
1919 ; CI-NEXT: s_endpgm
1944 ; CI-LABEL: fadd_v4f16:
1945 ; CI: ; %bb.0:
1946 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1947 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1948 ; CI-NEXT: v_mov_b32_e32 v0, s2
1949 ; CI-NEXT: v_mov_b32_e32 v1, s3
1950 ; CI-NEXT: flat_load_dwordx4 v[0:3], v[0:1]
1951 ; CI-NEXT: v_mov_b32_e32 v4, s0
1952 ; CI-NEXT: v_mov_b32_e32 v5, s1
1953 ; CI-NEXT: s_waitcnt vmcnt(0)
1954 ; CI-NEXT: v_cvt_f32_f16_e32 v6, v0
1955 ; CI-NEXT: v_lshrrev_b32_e32 v0, 16, v0
1956 ; CI-NEXT: v_cvt_f32_f16_e32 v7, v1
1957 ; CI-NEXT: v_lshrrev_b32_e32 v1, 16, v1
1958 ; CI-NEXT: v_cvt_f32_f16_e32 v8, v2
1959 ; CI-NEXT: v_lshrrev_b32_e32 v2, 16, v2
1960 ; CI-NEXT: v_cvt_f32_f16_e32 v9, v3
1961 ; CI-NEXT: v_lshrrev_b32_e32 v3, 16, v3
1962 ; CI-NEXT: v_cvt_f32_f16_e32 v0, v0
1963 ; CI-NEXT: v_cvt_f32_f16_e32 v1, v1
1964 ; CI-NEXT: v_cvt_f32_f16_e32 v3, v3
1965 ; CI-NEXT: v_cvt_f32_f16_e32 v2, v2
1966 ; CI-NEXT: v_add_f32_e32 v7, v7, v9
1967 ; CI-NEXT: v_add_f32_e32 v6, v6, v8
1968 ; CI-NEXT: v_add_f32_e32 v1, v1, v3
1969 ; CI-NEXT: v_add_f32_e32 v0, v0, v2
1970 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
1971 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
1972 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v7
1973 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v6
1974 ; CI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
1975 ; CI-NEXT: v_lshlrev_b32_e32 v0, 16, v0
1976 ; CI-NEXT: v_or_b32_e32 v1, v2, v1
1977 ; CI-NEXT: v_or_b32_e32 v0, v3, v0
1978 ; CI-NEXT: flat_store_dwordx2 v[4:5], v[0:1]
1979 ; CI-NEXT: s_endpgm
2008 ; CI-LABEL: fadd_v8f16:
2009 ; CI: ; %bb.0:
2010 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x4
2011 ; CI-NEXT: s_load_dwordx2 s[8:9], s[4:5], 0x0
2012 ; CI-NEXT: s_load_dwordx4 s[4:7], s[4:5], 0x8
2013 ; CI-NEXT: s_waitcnt lgkmcnt(0)
2014 ; CI-NEXT: s_lshr_b32 s10, s0, 16
2015 ; CI-NEXT: v_cvt_f32_f16_e32 v4, s0
2016 ; CI-NEXT: s_lshr_b32 s0, s4, 16
2017 ; CI-NEXT: v_cvt_f32_f16_e32 v8, s0
2018 ; CI-NEXT: s_lshr_b32 s0, s5, 16
2019 ; CI-NEXT: s_lshr_b32 s11, s1, 16
2020 ; CI-NEXT: v_cvt_f32_f16_e32 v0, s10
2021 ; CI-NEXT: s_lshr_b32 s10, s2, 16
2022 ; CI-NEXT: v_cvt_f32_f16_e32 v9, s0
2023 ; CI-NEXT: s_lshr_b32 s0, s6, 16
2024 ; CI-NEXT: v_cvt_f32_f16_e32 v1, s11
2025 ; CI-NEXT: v_cvt_f32_f16_e32 v2, s10
2026 ; CI-NEXT: s_lshr_b32 s10, s3, 16
2027 ; CI-NEXT: v_cvt_f32_f16_e32 v10, s0
2028 ; CI-NEXT: s_lshr_b32 s0, s7, 16
2029 ; CI-NEXT: v_cvt_f32_f16_e32 v3, s10
2030 ; CI-NEXT: v_cvt_f32_f16_e32 v5, s1
2031 ; CI-NEXT: v_cvt_f32_f16_e32 v11, s0
2032 ; CI-NEXT: v_cvt_f32_f16_e32 v12, s4
2033 ; CI-NEXT: v_cvt_f32_f16_e32 v13, s5
2034 ; CI-NEXT: v_cvt_f32_f16_e32 v6, s2
2035 ; CI-NEXT: v_cvt_f32_f16_e32 v7, s3
2036 ; CI-NEXT: v_cvt_f32_f16_e32 v14, s7
2037 ; CI-NEXT: v_cvt_f32_f16_e32 v15, s6
2038 ; CI-NEXT: v_add_f32_e32 v1, v1, v9
2039 ; CI-NEXT: v_add_f32_e32 v0, v0, v8
2040 ; CI-NEXT: v_add_f32_e32 v3, v3, v11
2041 ; CI-NEXT: v_add_f32_e32 v2, v2, v10
2042 ; CI-NEXT: v_cvt_f16_f32_e32 v1, v1
2043 ; CI-NEXT: v_add_f32_e32 v5, v5, v13
2044 ; CI-NEXT: v_cvt_f16_f32_e32 v0, v0
2045 ; CI-NEXT: v_add_f32_e32 v4, v4, v12
2046 ; CI-NEXT: v_cvt_f16_f32_e32 v3, v3
2047 ; CI-NEXT: v_add_f32_e32 v7, v7, v14
2048 ; CI-NEXT: v_cvt_f16_f32_e32 v2, v2
2049 ; CI-NEXT: v_add_f32_e32 v6, v6, v15
2050 ; CI-NEXT: v_cvt_f16_f32_e32 v5, v5
2051 ; CI-NEXT: v_cvt_f16_f32_e32 v4, v4
2052 ; CI-NEXT: v_cvt_f16_f32_e32 v7, v7
2053 ; CI-NEXT: v_cvt_f16_f32_e32 v6, v6
2054 ; CI-NEXT: v_lshlrev_b32_e32 v1, 16, v1
2055 ; CI-NEXT: v_lshlrev_b32_e32 v0, 16, v0
2056 ; CI-NEXT: v_lshlrev_b32_e32 v3, 16, v3
2057 ; CI-NEXT: v_lshlrev_b32_e32 v2, 16, v2
2058 ; CI-NEXT: v_or_b32_e32 v1, v5, v1
2059 ; CI-NEXT: v_or_b32_e32 v0, v4, v0
2060 ; CI-NEXT: v_mov_b32_e32 v4, s8
2061 ; CI-NEXT: v_or_b32_e32 v3, v7, v3
2062 ; CI-NEXT: v_or_b32_e32 v2, v6, v2
2063 ; CI-NEXT: v_mov_b32_e32 v5, s9
2064 ; CI-NEXT: flat_store_dwordx4 v[4:5], v[0:3]
2065 ; CI-NEXT: s_endpgm