Lines Matching refs:SI
2 …arize-global-loads=false -march=amdgcn -verify-machineinstrs < %s | FileCheck --check-prefix=SI %s
6 ; SI-LABEL: bfe_u32_arg_arg_arg:
7 ; SI: ; %bb.0:
8 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
9 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
10 ; SI-NEXT: s_mov_b32 s3, 0xf000
11 ; SI-NEXT: s_mov_b32 s2, -1
12 ; SI-NEXT: s_waitcnt lgkmcnt(0)
13 ; SI-NEXT: v_mov_b32_e32 v0, s4
14 ; SI-NEXT: v_bfe_u32 v0, v0, s5, s5
15 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
16 ; SI-NEXT: s_endpgm
35 ; SI-LABEL: bfe_u32_arg_arg_imm:
36 ; SI: ; %bb.0:
37 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
38 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
39 ; SI-NEXT: s_mov_b32 s3, 0xf000
40 ; SI-NEXT: s_mov_b32 s2, -1
41 ; SI-NEXT: v_mov_b32_e32 v0, 0x7b
42 ; SI-NEXT: s_waitcnt lgkmcnt(0)
43 ; SI-NEXT: v_mov_b32_e32 v1, s5
44 ; SI-NEXT: v_bfe_u32 v0, s4, v1, v0
45 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
46 ; SI-NEXT: s_endpgm
66 ; SI-LABEL: bfe_u32_arg_imm_arg:
67 ; SI: ; %bb.0:
68 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
69 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
70 ; SI-NEXT: s_mov_b32 s3, 0xf000
71 ; SI-NEXT: s_mov_b32 s2, -1
72 ; SI-NEXT: v_mov_b32_e32 v0, 0x7b
73 ; SI-NEXT: s_waitcnt lgkmcnt(0)
74 ; SI-NEXT: v_mov_b32_e32 v1, s5
75 ; SI-NEXT: v_bfe_u32 v0, s4, v0, v1
76 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
77 ; SI-NEXT: s_endpgm
97 ; SI-LABEL: bfe_u32_imm_arg_arg:
98 ; SI: ; %bb.0:
99 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
100 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
101 ; SI-NEXT: s_mov_b32 s3, 0xf000
102 ; SI-NEXT: s_mov_b32 s2, -1
103 ; SI-NEXT: s_movk_i32 s6, 0x7b
104 ; SI-NEXT: s_waitcnt lgkmcnt(0)
105 ; SI-NEXT: v_mov_b32_e32 v0, s4
106 ; SI-NEXT: v_mov_b32_e32 v1, s5
107 ; SI-NEXT: v_bfe_u32 v0, s6, v0, v1
108 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
109 ; SI-NEXT: s_endpgm
130 ; SI-LABEL: bfe_u32_arg_0_width_reg_offset:
131 ; SI: ; %bb.0:
132 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
133 ; SI-NEXT: s_mov_b32 s3, 0xf000
134 ; SI-NEXT: s_mov_b32 s2, -1
135 ; SI-NEXT: v_mov_b32_e32 v0, 0
136 ; SI-NEXT: s_waitcnt lgkmcnt(0)
137 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
138 ; SI-NEXT: s_endpgm
155 ; SI-LABEL: bfe_u32_arg_0_width_imm_offset:
156 ; SI: ; %bb.0:
157 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
158 ; SI-NEXT: s_mov_b32 s3, 0xf000
159 ; SI-NEXT: s_mov_b32 s2, -1
160 ; SI-NEXT: v_mov_b32_e32 v0, 0
161 ; SI-NEXT: s_waitcnt lgkmcnt(0)
162 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
163 ; SI-NEXT: s_endpgm
180 ; SI-LABEL: bfe_u32_zextload_i8:
181 ; SI: ; %bb.0:
182 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
183 ; SI-NEXT: s_mov_b32 s7, 0xf000
184 ; SI-NEXT: s_mov_b32 s6, -1
185 ; SI-NEXT: s_mov_b32 s10, s6
186 ; SI-NEXT: s_mov_b32 s11, s7
187 ; SI-NEXT: s_waitcnt lgkmcnt(0)
188 ; SI-NEXT: s_mov_b32 s8, s2
189 ; SI-NEXT: s_mov_b32 s9, s3
190 ; SI-NEXT: buffer_load_ubyte v0, off, s[8:11], 0
191 ; SI-NEXT: s_mov_b32 s4, s0
192 ; SI-NEXT: s_mov_b32 s5, s1
193 ; SI-NEXT: s_waitcnt vmcnt(0)
194 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
195 ; SI-NEXT: s_endpgm
222 ; SI-LABEL: bfe_u32_zext_in_reg_i8:
223 ; SI: ; %bb.0:
224 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
225 ; SI-NEXT: s_mov_b32 s7, 0xf000
226 ; SI-NEXT: s_mov_b32 s6, -1
227 ; SI-NEXT: s_mov_b32 s10, s6
228 ; SI-NEXT: s_mov_b32 s11, s7
229 ; SI-NEXT: s_waitcnt lgkmcnt(0)
230 ; SI-NEXT: s_mov_b32 s8, s2
231 ; SI-NEXT: s_mov_b32 s9, s3
232 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
233 ; SI-NEXT: s_mov_b32 s4, s0
234 ; SI-NEXT: s_mov_b32 s5, s1
235 ; SI-NEXT: s_waitcnt vmcnt(0)
236 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
237 ; SI-NEXT: v_and_b32_e32 v0, 0xff, v0
238 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
239 ; SI-NEXT: s_endpgm
268 ; SI-LABEL: bfe_u32_zext_in_reg_i16:
269 ; SI: ; %bb.0:
270 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
271 ; SI-NEXT: s_mov_b32 s7, 0xf000
272 ; SI-NEXT: s_mov_b32 s6, -1
273 ; SI-NEXT: s_mov_b32 s10, s6
274 ; SI-NEXT: s_mov_b32 s11, s7
275 ; SI-NEXT: s_waitcnt lgkmcnt(0)
276 ; SI-NEXT: s_mov_b32 s8, s2
277 ; SI-NEXT: s_mov_b32 s9, s3
278 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
279 ; SI-NEXT: s_mov_b32 s4, s0
280 ; SI-NEXT: s_mov_b32 s5, s1
281 ; SI-NEXT: s_waitcnt vmcnt(0)
282 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
283 ; SI-NEXT: v_and_b32_e32 v0, 0xffff, v0
284 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
285 ; SI-NEXT: s_endpgm
314 ; SI-LABEL: bfe_u32_zext_in_reg_i8_offset_1:
315 ; SI: ; %bb.0:
316 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
317 ; SI-NEXT: s_mov_b32 s7, 0xf000
318 ; SI-NEXT: s_mov_b32 s6, -1
319 ; SI-NEXT: s_mov_b32 s10, s6
320 ; SI-NEXT: s_mov_b32 s11, s7
321 ; SI-NEXT: s_waitcnt lgkmcnt(0)
322 ; SI-NEXT: s_mov_b32 s8, s2
323 ; SI-NEXT: s_mov_b32 s9, s3
324 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
325 ; SI-NEXT: s_mov_b32 s4, s0
326 ; SI-NEXT: s_mov_b32 s5, s1
327 ; SI-NEXT: s_waitcnt vmcnt(0)
328 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
329 ; SI-NEXT: v_and_b32_e32 v0, 0xfe, v0
330 ; SI-NEXT: v_bfe_u32 v0, v0, 1, 8
331 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
332 ; SI-NEXT: s_endpgm
362 ; SI-LABEL: bfe_u32_zext_in_reg_i8_offset_3:
363 ; SI: ; %bb.0:
364 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
365 ; SI-NEXT: s_mov_b32 s7, 0xf000
366 ; SI-NEXT: s_mov_b32 s6, -1
367 ; SI-NEXT: s_mov_b32 s10, s6
368 ; SI-NEXT: s_mov_b32 s11, s7
369 ; SI-NEXT: s_waitcnt lgkmcnt(0)
370 ; SI-NEXT: s_mov_b32 s8, s2
371 ; SI-NEXT: s_mov_b32 s9, s3
372 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
373 ; SI-NEXT: s_mov_b32 s4, s0
374 ; SI-NEXT: s_mov_b32 s5, s1
375 ; SI-NEXT: s_waitcnt vmcnt(0)
376 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
377 ; SI-NEXT: v_and_b32_e32 v0, 0xf8, v0
378 ; SI-NEXT: v_bfe_u32 v0, v0, 3, 8
379 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
380 ; SI-NEXT: s_endpgm
410 ; SI-LABEL: bfe_u32_zext_in_reg_i8_offset_7:
411 ; SI: ; %bb.0:
412 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
413 ; SI-NEXT: s_mov_b32 s7, 0xf000
414 ; SI-NEXT: s_mov_b32 s6, -1
415 ; SI-NEXT: s_mov_b32 s10, s6
416 ; SI-NEXT: s_mov_b32 s11, s7
417 ; SI-NEXT: s_waitcnt lgkmcnt(0)
418 ; SI-NEXT: s_mov_b32 s8, s2
419 ; SI-NEXT: s_mov_b32 s9, s3
420 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
421 ; SI-NEXT: s_mov_b32 s4, s0
422 ; SI-NEXT: s_mov_b32 s5, s1
423 ; SI-NEXT: s_waitcnt vmcnt(0)
424 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
425 ; SI-NEXT: v_and_b32_e32 v0, 0x80, v0
426 ; SI-NEXT: v_bfe_u32 v0, v0, 7, 8
427 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
428 ; SI-NEXT: s_endpgm
458 ; SI-LABEL: bfe_u32_zext_in_reg_i16_offset_8:
459 ; SI: ; %bb.0:
460 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
461 ; SI-NEXT: s_mov_b32 s7, 0xf000
462 ; SI-NEXT: s_mov_b32 s6, -1
463 ; SI-NEXT: s_mov_b32 s10, s6
464 ; SI-NEXT: s_mov_b32 s11, s7
465 ; SI-NEXT: s_waitcnt lgkmcnt(0)
466 ; SI-NEXT: s_mov_b32 s8, s2
467 ; SI-NEXT: s_mov_b32 s9, s3
468 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
469 ; SI-NEXT: s_mov_b32 s4, s0
470 ; SI-NEXT: s_mov_b32 s5, s1
471 ; SI-NEXT: s_waitcnt vmcnt(0)
472 ; SI-NEXT: v_add_i32_e32 v0, vcc, 1, v0
473 ; SI-NEXT: v_bfe_u32 v0, v0, 8, 8
474 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
475 ; SI-NEXT: s_endpgm
504 ; SI-LABEL: bfe_u32_test_1:
505 ; SI: ; %bb.0:
506 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
507 ; SI-NEXT: s_mov_b32 s7, 0xf000
508 ; SI-NEXT: s_mov_b32 s6, -1
509 ; SI-NEXT: s_mov_b32 s10, s6
510 ; SI-NEXT: s_mov_b32 s11, s7
511 ; SI-NEXT: s_waitcnt lgkmcnt(0)
512 ; SI-NEXT: s_mov_b32 s8, s2
513 ; SI-NEXT: s_mov_b32 s9, s3
514 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
515 ; SI-NEXT: s_mov_b32 s4, s0
516 ; SI-NEXT: s_mov_b32 s5, s1
517 ; SI-NEXT: s_waitcnt vmcnt(0)
518 ; SI-NEXT: v_and_b32_e32 v0, 1, v0
519 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
520 ; SI-NEXT: s_endpgm
546 ; SI-LABEL: bfe_u32_test_2:
547 ; SI: ; %bb.0:
548 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
549 ; SI-NEXT: s_waitcnt lgkmcnt(0)
550 ; SI-NEXT: s_mov_b32 s3, 0xf000
551 ; SI-NEXT: s_mov_b32 s2, -1
552 ; SI-NEXT: v_mov_b32_e32 v0, 0
553 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
554 ; SI-NEXT: s_endpgm
573 ; SI-LABEL: bfe_u32_test_3:
574 ; SI: ; %bb.0:
575 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
576 ; SI-NEXT: s_waitcnt lgkmcnt(0)
577 ; SI-NEXT: s_mov_b32 s3, 0xf000
578 ; SI-NEXT: s_mov_b32 s2, -1
579 ; SI-NEXT: v_mov_b32_e32 v0, 0
580 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
581 ; SI-NEXT: s_endpgm
600 ; SI-LABEL: bfe_u32_test_4:
601 ; SI: ; %bb.0:
602 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
603 ; SI-NEXT: s_waitcnt lgkmcnt(0)
604 ; SI-NEXT: s_mov_b32 s3, 0xf000
605 ; SI-NEXT: s_mov_b32 s2, -1
606 ; SI-NEXT: v_mov_b32_e32 v0, 0
607 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
608 ; SI-NEXT: s_endpgm
628 ; SI-LABEL: bfe_u32_test_5:
629 ; SI: ; %bb.0:
630 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
631 ; SI-NEXT: s_mov_b32 s7, 0xf000
632 ; SI-NEXT: s_mov_b32 s6, -1
633 ; SI-NEXT: s_mov_b32 s10, s6
634 ; SI-NEXT: s_mov_b32 s11, s7
635 ; SI-NEXT: s_waitcnt lgkmcnt(0)
636 ; SI-NEXT: s_mov_b32 s8, s2
637 ; SI-NEXT: s_mov_b32 s9, s3
638 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
639 ; SI-NEXT: s_mov_b32 s4, s0
640 ; SI-NEXT: s_mov_b32 s5, s1
641 ; SI-NEXT: s_waitcnt vmcnt(0)
642 ; SI-NEXT: v_bfe_i32 v0, v0, 0, 1
643 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
644 ; SI-NEXT: s_endpgm
672 ; SI-LABEL: bfe_u32_test_6:
673 ; SI: ; %bb.0:
674 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
675 ; SI-NEXT: s_mov_b32 s7, 0xf000
676 ; SI-NEXT: s_mov_b32 s6, -1
677 ; SI-NEXT: s_mov_b32 s10, s6
678 ; SI-NEXT: s_mov_b32 s11, s7
679 ; SI-NEXT: s_waitcnt lgkmcnt(0)
680 ; SI-NEXT: s_mov_b32 s8, s2
681 ; SI-NEXT: s_mov_b32 s9, s3
682 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
683 ; SI-NEXT: s_mov_b32 s4, s0
684 ; SI-NEXT: s_mov_b32 s5, s1
685 ; SI-NEXT: s_waitcnt vmcnt(0)
686 ; SI-NEXT: v_lshlrev_b32_e32 v0, 30, v0
687 ; SI-NEXT: v_and_b32_e32 v0, 2.0, v0
688 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
689 ; SI-NEXT: s_endpgm
717 ; SI-LABEL: bfe_u32_test_7:
718 ; SI: ; %bb.0:
719 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
720 ; SI-NEXT: s_mov_b32 s7, 0xf000
721 ; SI-NEXT: s_mov_b32 s6, -1
722 ; SI-NEXT: s_mov_b32 s10, s6
723 ; SI-NEXT: s_mov_b32 s11, s7
724 ; SI-NEXT: s_waitcnt lgkmcnt(0)
725 ; SI-NEXT: s_mov_b32 s8, s2
726 ; SI-NEXT: s_mov_b32 s9, s3
727 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
728 ; SI-NEXT: s_mov_b32 s4, s0
729 ; SI-NEXT: s_mov_b32 s5, s1
730 ; SI-NEXT: s_waitcnt vmcnt(0)
731 ; SI-NEXT: v_lshlrev_b32_e32 v0, 31, v0
732 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
733 ; SI-NEXT: s_endpgm
760 ; SI-LABEL: bfe_u32_test_8:
761 ; SI: ; %bb.0:
762 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
763 ; SI-NEXT: s_mov_b32 s7, 0xf000
764 ; SI-NEXT: s_mov_b32 s6, -1
765 ; SI-NEXT: s_mov_b32 s10, s6
766 ; SI-NEXT: s_mov_b32 s11, s7
767 ; SI-NEXT: s_waitcnt lgkmcnt(0)
768 ; SI-NEXT: s_mov_b32 s8, s2
769 ; SI-NEXT: s_mov_b32 s9, s3
770 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
771 ; SI-NEXT: s_mov_b32 s4, s0
772 ; SI-NEXT: s_mov_b32 s5, s1
773 ; SI-NEXT: s_waitcnt vmcnt(0)
774 ; SI-NEXT: v_and_b32_e32 v0, 1, v0
775 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
776 ; SI-NEXT: s_endpgm
803 ; SI-LABEL: bfe_u32_test_9:
804 ; SI: ; %bb.0:
805 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
806 ; SI-NEXT: s_mov_b32 s7, 0xf000
807 ; SI-NEXT: s_mov_b32 s6, -1
808 ; SI-NEXT: s_mov_b32 s10, s6
809 ; SI-NEXT: s_mov_b32 s11, s7
810 ; SI-NEXT: s_waitcnt lgkmcnt(0)
811 ; SI-NEXT: s_mov_b32 s8, s2
812 ; SI-NEXT: s_mov_b32 s9, s3
813 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
814 ; SI-NEXT: s_mov_b32 s4, s0
815 ; SI-NEXT: s_mov_b32 s5, s1
816 ; SI-NEXT: s_waitcnt vmcnt(0)
817 ; SI-NEXT: v_lshrrev_b32_e32 v0, 31, v0
818 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
819 ; SI-NEXT: s_endpgm
845 ; SI-LABEL: bfe_u32_test_10:
846 ; SI: ; %bb.0:
847 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
848 ; SI-NEXT: s_mov_b32 s7, 0xf000
849 ; SI-NEXT: s_mov_b32 s6, -1
850 ; SI-NEXT: s_mov_b32 s10, s6
851 ; SI-NEXT: s_mov_b32 s11, s7
852 ; SI-NEXT: s_waitcnt lgkmcnt(0)
853 ; SI-NEXT: s_mov_b32 s8, s2
854 ; SI-NEXT: s_mov_b32 s9, s3
855 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
856 ; SI-NEXT: s_mov_b32 s4, s0
857 ; SI-NEXT: s_mov_b32 s5, s1
858 ; SI-NEXT: s_waitcnt vmcnt(0)
859 ; SI-NEXT: v_lshrrev_b32_e32 v0, 1, v0
860 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
861 ; SI-NEXT: s_endpgm
887 ; SI-LABEL: bfe_u32_test_11:
888 ; SI: ; %bb.0:
889 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
890 ; SI-NEXT: s_mov_b32 s7, 0xf000
891 ; SI-NEXT: s_mov_b32 s6, -1
892 ; SI-NEXT: s_mov_b32 s10, s6
893 ; SI-NEXT: s_mov_b32 s11, s7
894 ; SI-NEXT: s_waitcnt lgkmcnt(0)
895 ; SI-NEXT: s_mov_b32 s8, s2
896 ; SI-NEXT: s_mov_b32 s9, s3
897 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
898 ; SI-NEXT: s_mov_b32 s4, s0
899 ; SI-NEXT: s_mov_b32 s5, s1
900 ; SI-NEXT: s_waitcnt vmcnt(0)
901 ; SI-NEXT: v_lshrrev_b32_e32 v0, 8, v0
902 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
903 ; SI-NEXT: s_endpgm
929 ; SI-LABEL: bfe_u32_test_12:
930 ; SI: ; %bb.0:
931 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
932 ; SI-NEXT: s_mov_b32 s7, 0xf000
933 ; SI-NEXT: s_mov_b32 s6, -1
934 ; SI-NEXT: s_mov_b32 s10, s6
935 ; SI-NEXT: s_mov_b32 s11, s7
936 ; SI-NEXT: s_waitcnt lgkmcnt(0)
937 ; SI-NEXT: s_mov_b32 s8, s2
938 ; SI-NEXT: s_mov_b32 s9, s3
939 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
940 ; SI-NEXT: s_mov_b32 s4, s0
941 ; SI-NEXT: s_mov_b32 s5, s1
942 ; SI-NEXT: s_waitcnt vmcnt(0)
943 ; SI-NEXT: v_lshrrev_b32_e32 v0, 24, v0
944 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
945 ; SI-NEXT: s_endpgm
972 ; SI-LABEL: bfe_u32_test_13:
973 ; SI: ; %bb.0:
974 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
975 ; SI-NEXT: s_mov_b32 s7, 0xf000
976 ; SI-NEXT: s_mov_b32 s6, -1
977 ; SI-NEXT: s_mov_b32 s10, s6
978 ; SI-NEXT: s_mov_b32 s11, s7
979 ; SI-NEXT: s_waitcnt lgkmcnt(0)
980 ; SI-NEXT: s_mov_b32 s8, s2
981 ; SI-NEXT: s_mov_b32 s9, s3
982 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
983 ; SI-NEXT: s_mov_b32 s4, s0
984 ; SI-NEXT: s_mov_b32 s5, s1
985 ; SI-NEXT: s_waitcnt vmcnt(0)
986 ; SI-NEXT: v_lshrrev_b32_e32 v0, 31, v0
987 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
988 ; SI-NEXT: s_endpgm
1014 ; SI-LABEL: bfe_u32_test_14:
1015 ; SI: ; %bb.0:
1016 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
1017 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1018 ; SI-NEXT: s_mov_b32 s3, 0xf000
1019 ; SI-NEXT: s_mov_b32 s2, -1
1020 ; SI-NEXT: v_mov_b32_e32 v0, 0
1021 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1022 ; SI-NEXT: s_endpgm
1041 ; SI-LABEL: bfe_u32_constant_fold_test_0:
1042 ; SI: ; %bb.0:
1043 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1044 ; SI-NEXT: s_mov_b32 s3, 0xf000
1045 ; SI-NEXT: s_mov_b32 s2, -1
1046 ; SI-NEXT: v_mov_b32_e32 v0, 0
1047 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1048 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1049 ; SI-NEXT: s_endpgm
1067 ; SI-LABEL: bfe_u32_constant_fold_test_1:
1068 ; SI: ; %bb.0:
1069 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1070 ; SI-NEXT: s_mov_b32 s3, 0xf000
1071 ; SI-NEXT: s_mov_b32 s2, -1
1072 ; SI-NEXT: v_mov_b32_e32 v0, 0
1073 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1074 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1075 ; SI-NEXT: s_endpgm
1093 ; SI-LABEL: bfe_u32_constant_fold_test_2:
1094 ; SI: ; %bb.0:
1095 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1096 ; SI-NEXT: s_mov_b32 s3, 0xf000
1097 ; SI-NEXT: s_mov_b32 s2, -1
1098 ; SI-NEXT: v_mov_b32_e32 v0, 0
1099 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1100 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1101 ; SI-NEXT: s_endpgm
1119 ; SI-LABEL: bfe_u32_constant_fold_test_3:
1120 ; SI: ; %bb.0:
1121 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1122 ; SI-NEXT: s_mov_b32 s3, 0xf000
1123 ; SI-NEXT: s_mov_b32 s2, -1
1124 ; SI-NEXT: v_mov_b32_e32 v0, 1
1125 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1126 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1127 ; SI-NEXT: s_endpgm
1145 ; SI-LABEL: bfe_u32_constant_fold_test_4:
1146 ; SI: ; %bb.0:
1147 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1148 ; SI-NEXT: s_mov_b32 s3, 0xf000
1149 ; SI-NEXT: s_mov_b32 s2, -1
1150 ; SI-NEXT: v_mov_b32_e32 v0, -1
1151 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1152 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1153 ; SI-NEXT: s_endpgm
1171 ; SI-LABEL: bfe_u32_constant_fold_test_5:
1172 ; SI: ; %bb.0:
1173 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1174 ; SI-NEXT: s_mov_b32 s3, 0xf000
1175 ; SI-NEXT: s_mov_b32 s2, -1
1176 ; SI-NEXT: v_mov_b32_e32 v0, 1
1177 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1178 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1179 ; SI-NEXT: s_endpgm
1197 ; SI-LABEL: bfe_u32_constant_fold_test_6:
1198 ; SI: ; %bb.0:
1199 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1200 ; SI-NEXT: s_mov_b32 s3, 0xf000
1201 ; SI-NEXT: s_mov_b32 s2, -1
1202 ; SI-NEXT: v_mov_b32_e32 v0, 0x80
1203 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1204 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1205 ; SI-NEXT: s_endpgm
1223 ; SI-LABEL: bfe_u32_constant_fold_test_7:
1224 ; SI: ; %bb.0:
1225 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1226 ; SI-NEXT: s_mov_b32 s3, 0xf000
1227 ; SI-NEXT: s_mov_b32 s2, -1
1228 ; SI-NEXT: v_mov_b32_e32 v0, 0x7f
1229 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1230 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1231 ; SI-NEXT: s_endpgm
1249 ; SI-LABEL: bfe_u32_constant_fold_test_8:
1250 ; SI: ; %bb.0:
1251 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1252 ; SI-NEXT: s_mov_b32 s3, 0xf000
1253 ; SI-NEXT: s_mov_b32 s2, -1
1254 ; SI-NEXT: v_mov_b32_e32 v0, 1
1255 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1256 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1257 ; SI-NEXT: s_endpgm
1275 ; SI-LABEL: bfe_u32_constant_fold_test_9:
1276 ; SI: ; %bb.0:
1277 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1278 ; SI-NEXT: s_mov_b32 s3, 0xf000
1279 ; SI-NEXT: s_mov_b32 s2, -1
1280 ; SI-NEXT: v_mov_b32_e32 v0, 1
1281 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1282 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1283 ; SI-NEXT: s_endpgm
1301 ; SI-LABEL: bfe_u32_constant_fold_test_10:
1302 ; SI: ; %bb.0:
1303 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1304 ; SI-NEXT: s_mov_b32 s3, 0xf000
1305 ; SI-NEXT: s_mov_b32 s2, -1
1306 ; SI-NEXT: v_mov_b32_e32 v0, 0
1307 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1308 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1309 ; SI-NEXT: s_endpgm
1327 ; SI-LABEL: bfe_u32_constant_fold_test_11:
1328 ; SI: ; %bb.0:
1329 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1330 ; SI-NEXT: s_mov_b32 s3, 0xf000
1331 ; SI-NEXT: s_mov_b32 s2, -1
1332 ; SI-NEXT: v_mov_b32_e32 v0, 10
1333 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1334 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1335 ; SI-NEXT: s_endpgm
1353 ; SI-LABEL: bfe_u32_constant_fold_test_12:
1354 ; SI: ; %bb.0:
1355 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1356 ; SI-NEXT: s_mov_b32 s3, 0xf000
1357 ; SI-NEXT: s_mov_b32 s2, -1
1358 ; SI-NEXT: v_mov_b32_e32 v0, 0
1359 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1360 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1361 ; SI-NEXT: s_endpgm
1379 ; SI-LABEL: bfe_u32_constant_fold_test_13:
1380 ; SI: ; %bb.0:
1381 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1382 ; SI-NEXT: s_mov_b32 s3, 0xf000
1383 ; SI-NEXT: s_mov_b32 s2, -1
1384 ; SI-NEXT: v_mov_b32_e32 v0, 1
1385 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1386 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1387 ; SI-NEXT: s_endpgm
1405 ; SI-LABEL: bfe_u32_constant_fold_test_14:
1406 ; SI: ; %bb.0:
1407 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1408 ; SI-NEXT: s_mov_b32 s3, 0xf000
1409 ; SI-NEXT: s_mov_b32 s2, -1
1410 ; SI-NEXT: v_mov_b32_e32 v0, 40
1411 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1412 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1413 ; SI-NEXT: s_endpgm
1431 ; SI-LABEL: bfe_u32_constant_fold_test_15:
1432 ; SI: ; %bb.0:
1433 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1434 ; SI-NEXT: s_mov_b32 s3, 0xf000
1435 ; SI-NEXT: s_mov_b32 s2, -1
1436 ; SI-NEXT: v_mov_b32_e32 v0, 10
1437 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1438 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1439 ; SI-NEXT: s_endpgm
1457 ; SI-LABEL: bfe_u32_constant_fold_test_16:
1458 ; SI: ; %bb.0:
1459 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1460 ; SI-NEXT: s_mov_b32 s3, 0xf000
1461 ; SI-NEXT: s_mov_b32 s2, -1
1462 ; SI-NEXT: v_mov_b32_e32 v0, 0x7f
1463 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1464 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1465 ; SI-NEXT: s_endpgm
1483 ; SI-LABEL: bfe_u32_constant_fold_test_17:
1484 ; SI: ; %bb.0:
1485 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1486 ; SI-NEXT: s_mov_b32 s3, 0xf000
1487 ; SI-NEXT: s_mov_b32 s2, -1
1488 ; SI-NEXT: v_mov_b32_e32 v0, 0x7f
1489 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1490 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1491 ; SI-NEXT: s_endpgm
1509 ; SI-LABEL: bfe_u32_constant_fold_test_18:
1510 ; SI: ; %bb.0:
1511 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1512 ; SI-NEXT: s_mov_b32 s3, 0xf000
1513 ; SI-NEXT: s_mov_b32 s2, -1
1514 ; SI-NEXT: v_mov_b32_e32 v0, 0
1515 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1516 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1517 ; SI-NEXT: s_endpgm
1538 ; SI-LABEL: simplify_bfe_u32_multi_use_arg:
1539 ; SI: ; %bb.0:
1540 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xd
1541 ; SI-NEXT: s_mov_b32 s3, 0xf000
1542 ; SI-NEXT: s_mov_b32 s2, -1
1543 ; SI-NEXT: s_load_dwordx4 s[8:11], s[0:1], 0x9
1544 ; SI-NEXT: s_mov_b32 s6, s2
1545 ; SI-NEXT: s_mov_b32 s7, s3
1546 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1547 ; SI-NEXT: buffer_load_dword v0, off, s[4:7], 0
1548 ; SI-NEXT: s_mov_b32 s0, s8
1549 ; SI-NEXT: s_mov_b32 s1, s9
1550 ; SI-NEXT: s_mov_b32 s4, s10
1551 ; SI-NEXT: s_mov_b32 s5, s11
1552 ; SI-NEXT: s_waitcnt vmcnt(0)
1553 ; SI-NEXT: v_and_b32_e32 v0, 63, v0
1554 ; SI-NEXT: v_bfe_u32 v1, v0, 2, 2
1555 ; SI-NEXT: buffer_store_dword v1, off, s[0:3], 0
1556 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
1557 ; SI-NEXT: s_endpgm
1593 ; SI-LABEL: lshr_and:
1594 ; SI: ; %bb.0:
1595 ; SI-NEXT: s_load_dword s2, s[0:1], 0xb
1596 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1597 ; SI-NEXT: s_mov_b32 s3, 0xf000
1598 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1599 ; SI-NEXT: s_bfe_u32 s4, s2, 0x30006
1600 ; SI-NEXT: s_mov_b32 s2, -1
1601 ; SI-NEXT: v_mov_b32_e32 v0, s4
1602 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1603 ; SI-NEXT: s_endpgm
1623 ; SI-LABEL: v_lshr_and:
1624 ; SI: ; %bb.0:
1625 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
1626 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1627 ; SI-NEXT: s_mov_b32 s3, 0xf000
1628 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1629 ; SI-NEXT: s_lshr_b32 s2, s4, s5
1630 ; SI-NEXT: s_and_b32 s4, s2, 7
1631 ; SI-NEXT: s_mov_b32 s2, -1
1632 ; SI-NEXT: v_mov_b32_e32 v0, s4
1633 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1634 ; SI-NEXT: s_endpgm
1655 ; SI-LABEL: and_lshr:
1656 ; SI: ; %bb.0:
1657 ; SI-NEXT: s_load_dword s2, s[0:1], 0xb
1658 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1659 ; SI-NEXT: s_mov_b32 s3, 0xf000
1660 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1661 ; SI-NEXT: s_bfe_u32 s4, s2, 0x30006
1662 ; SI-NEXT: s_mov_b32 s2, -1
1663 ; SI-NEXT: v_mov_b32_e32 v0, s4
1664 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1665 ; SI-NEXT: s_endpgm
1685 ; SI-LABEL: and_lshr2:
1686 ; SI: ; %bb.0:
1687 ; SI-NEXT: s_load_dword s2, s[0:1], 0xb
1688 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1689 ; SI-NEXT: s_mov_b32 s3, 0xf000
1690 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1691 ; SI-NEXT: s_bfe_u32 s4, s2, 0x30006
1692 ; SI-NEXT: s_mov_b32 s2, -1
1693 ; SI-NEXT: v_mov_b32_e32 v0, s4
1694 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1695 ; SI-NEXT: s_endpgm
1715 ; SI-LABEL: shl_lshr:
1716 ; SI: ; %bb.0:
1717 ; SI-NEXT: s_load_dword s2, s[0:1], 0xb
1718 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
1719 ; SI-NEXT: s_mov_b32 s3, 0xf000
1720 ; SI-NEXT: s_waitcnt lgkmcnt(0)
1721 ; SI-NEXT: s_bfe_u32 s4, s2, 0x150002
1722 ; SI-NEXT: s_mov_b32 s2, -1
1723 ; SI-NEXT: v_mov_b32_e32 v0, s4
1724 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
1725 ; SI-NEXT: s_endpgm