Lines Matching refs:GFX9
2 ; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 %s
10 ; GFX9-LABEL: flat_inst_valu_offset_1:
11 ; GFX9: ; %bb.0:
12 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
13 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:1
14 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
15 ; GFX9-NEXT: s_setpc_b64 s[30:31]
40 ; GFX9-LABEL: flat_inst_valu_offset_11bit_max:
41 ; GFX9: ; %bb.0:
42 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
43 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2047
44 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
45 ; GFX9-NEXT: s_setpc_b64 s[30:31]
70 ; GFX9-LABEL: flat_inst_valu_offset_12bit_max:
71 ; GFX9: ; %bb.0:
72 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
73 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
74 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
75 ; GFX9-NEXT: s_setpc_b64 s[30:31]
100 ; GFX9-LABEL: flat_inst_valu_offset_13bit_max:
101 ; GFX9: ; %bb.0:
102 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
103 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
104 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
105 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
106 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
107 ; GFX9-NEXT: s_setpc_b64 s[30:31]
134 ; GFX9-LABEL: flat_inst_valu_offset_neg_11bit_max:
135 ; GFX9: ; %bb.0:
136 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
137 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff800, v0
138 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
139 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
140 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
141 ; GFX9-NEXT: s_setpc_b64 s[30:31]
168 ; GFX9-LABEL: flat_inst_valu_offset_neg_12bit_max:
169 ; GFX9: ; %bb.0:
170 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
171 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff000, v0
172 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
173 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
174 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
175 ; GFX9-NEXT: s_setpc_b64 s[30:31]
202 ; GFX9-LABEL: flat_inst_valu_offset_neg_13bit_max:
203 ; GFX9: ; %bb.0:
204 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
205 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffe000, v0
206 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
207 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
208 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
209 ; GFX9-NEXT: s_setpc_b64 s[30:31]
236 ; GFX9-LABEL: flat_inst_valu_offset_2x_11bit_max:
237 ; GFX9: ; %bb.0:
238 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
239 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
240 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
241 ; GFX9-NEXT: s_setpc_b64 s[30:31]
266 ; GFX9-LABEL: flat_inst_valu_offset_2x_12bit_max:
267 ; GFX9: ; %bb.0:
268 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
269 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
270 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
271 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
272 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
273 ; GFX9-NEXT: s_setpc_b64 s[30:31]
300 ; GFX9-LABEL: flat_inst_valu_offset_2x_13bit_max:
301 ; GFX9: ; %bb.0:
302 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
303 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x3000, v0
304 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
305 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
306 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
307 ; GFX9-NEXT: s_setpc_b64 s[30:31]
334 ; GFX9-LABEL: flat_inst_valu_offset_2x_neg_11bit_max:
335 ; GFX9: ; %bb.0:
336 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
337 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff000, v0
338 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
339 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
340 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
341 ; GFX9-NEXT: s_setpc_b64 s[30:31]
368 ; GFX9-LABEL: flat_inst_valu_offset_2x_neg_12bit_max:
369 ; GFX9: ; %bb.0:
370 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
371 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffe000, v0
372 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
373 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
374 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
375 ; GFX9-NEXT: s_setpc_b64 s[30:31]
402 ; GFX9-LABEL: flat_inst_valu_offset_2x_neg_13bit_max:
403 ; GFX9: ; %bb.0:
404 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
405 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffc000, v0
406 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
407 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
408 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
409 ; GFX9-NEXT: s_setpc_b64 s[30:31]
437 ; GFX9-LABEL: flat_inst_valu_offset_64bit_11bit_split0:
438 ; GFX9: ; %bb.0:
439 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
440 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0, v0
441 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
442 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2047
443 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
444 ; GFX9-NEXT: s_setpc_b64 s[30:31]
472 ; GFX9-LABEL: flat_inst_valu_offset_64bit_11bit_split1:
473 ; GFX9: ; %bb.0:
474 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
475 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0, v0
476 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
477 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2048
478 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
479 ; GFX9-NEXT: s_setpc_b64 s[30:31]
507 ; GFX9-LABEL: flat_inst_valu_offset_64bit_12bit_split0:
508 ; GFX9: ; %bb.0:
509 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
510 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0, v0
511 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
512 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
513 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
514 ; GFX9-NEXT: s_setpc_b64 s[30:31]
542 ; GFX9-LABEL: flat_inst_valu_offset_64bit_12bit_split1:
543 ; GFX9: ; %bb.0:
544 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
545 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
546 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
547 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
548 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
549 ; GFX9-NEXT: s_setpc_b64 s[30:31]
577 ; GFX9-LABEL: flat_inst_valu_offset_64bit_13bit_split0:
578 ; GFX9: ; %bb.0:
579 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
580 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
581 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
582 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095
583 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
584 ; GFX9-NEXT: s_setpc_b64 s[30:31]
612 ; GFX9-LABEL: flat_inst_valu_offset_64bit_13bit_split1:
613 ; GFX9: ; %bb.0:
614 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
615 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x2000, v0
616 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
617 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
618 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
619 ; GFX9-NEXT: s_setpc_b64 s[30:31]
647 ; GFX9-LABEL: flat_inst_valu_offset_64bit_11bit_neg_high_split0:
648 ; GFX9: ; %bb.0:
649 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
650 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x7ff, v0
651 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
652 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
653 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
654 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
655 ; GFX9-NEXT: s_setpc_b64 s[30:31]
683 ; GFX9-LABEL: flat_inst_valu_offset_64bit_11bit_neg_high_split1:
684 ; GFX9: ; %bb.0:
685 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
686 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x800, v0
687 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
688 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
689 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
690 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
691 ; GFX9-NEXT: s_setpc_b64 s[30:31]
719 ; GFX9-LABEL: flat_inst_valu_offset_64bit_12bit_neg_high_split0:
720 ; GFX9: ; %bb.0:
721 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
722 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfff, v0
723 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
724 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
725 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
726 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
727 ; GFX9-NEXT: s_setpc_b64 s[30:31]
755 ; GFX9-LABEL: flat_inst_valu_offset_64bit_12bit_neg_high_split1:
756 ; GFX9: ; %bb.0:
757 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
758 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
759 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
760 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
761 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
762 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
763 ; GFX9-NEXT: s_setpc_b64 s[30:31]
791 ; GFX9-LABEL: flat_inst_valu_offset_64bit_13bit_neg_high_split0:
792 ; GFX9: ; %bb.0:
793 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
794 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1fff, v0
795 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
796 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
797 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
798 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
799 ; GFX9-NEXT: s_setpc_b64 s[30:31]
827 ; GFX9-LABEL: flat_inst_valu_offset_64bit_13bit_neg_high_split1:
828 ; GFX9: ; %bb.0:
829 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
830 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x2000, v0
831 ; GFX9-NEXT: v_bfrev_b32_e32 v2, 1
832 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v2, v1, vcc
833 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
834 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
835 ; GFX9-NEXT: s_setpc_b64 s[30:31]
862 ; GFX9-LABEL: flat_inst_salu_offset_1:
863 ; GFX9: ; %bb.0:
864 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
865 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
866 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
867 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
868 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:1 glc
869 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
870 ; GFX9-NEXT: flat_store_byte v[0:1], v0
871 ; GFX9-NEXT: s_endpgm
903 ; GFX9-LABEL: flat_inst_salu_offset_11bit_max:
904 ; GFX9: ; %bb.0:
905 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
906 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
907 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
908 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
909 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2047 glc
910 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
911 ; GFX9-NEXT: flat_store_byte v[0:1], v0
912 ; GFX9-NEXT: s_endpgm
944 ; GFX9-LABEL: flat_inst_salu_offset_12bit_max:
945 ; GFX9: ; %bb.0:
946 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
947 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
948 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
949 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
950 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
951 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
952 ; GFX9-NEXT: flat_store_byte v[0:1], v0
953 ; GFX9-NEXT: s_endpgm
985 ; GFX9-LABEL: flat_inst_salu_offset_13bit_max:
986 ; GFX9: ; %bb.0:
987 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
988 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
989 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
990 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
991 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
992 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
993 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
994 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
995 ; GFX9-NEXT: flat_store_byte v[0:1], v0
996 ; GFX9-NEXT: s_endpgm
1030 ; GFX9-LABEL: flat_inst_salu_offset_neg_11bit_max:
1031 ; GFX9: ; %bb.0:
1032 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1033 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1034 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1035 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1036 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff800, v0
1037 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1038 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1039 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1040 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1041 ; GFX9-NEXT: s_endpgm
1075 ; GFX9-LABEL: flat_inst_salu_offset_neg_12bit_max:
1076 ; GFX9: ; %bb.0:
1077 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1078 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1079 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1080 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1081 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff000, v0
1082 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1083 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1084 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1085 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1086 ; GFX9-NEXT: s_endpgm
1120 ; GFX9-LABEL: flat_inst_salu_offset_neg_13bit_max:
1121 ; GFX9: ; %bb.0:
1122 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1123 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1124 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1125 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1126 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffe000, v0
1127 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1128 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1129 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1130 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1131 ; GFX9-NEXT: s_endpgm
1165 ; GFX9-LABEL: flat_inst_salu_offset_2x_11bit_max:
1166 ; GFX9: ; %bb.0:
1167 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1168 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1169 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1170 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1171 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
1172 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1173 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1174 ; GFX9-NEXT: s_endpgm
1206 ; GFX9-LABEL: flat_inst_salu_offset_2x_12bit_max:
1207 ; GFX9: ; %bb.0:
1208 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1209 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1210 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1211 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1212 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
1213 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
1214 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
1215 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1216 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1217 ; GFX9-NEXT: s_endpgm
1251 ; GFX9-LABEL: flat_inst_salu_offset_2x_13bit_max:
1252 ; GFX9: ; %bb.0:
1253 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1254 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1255 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1256 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1257 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x3000, v0
1258 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 0, v1, vcc
1259 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
1260 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1261 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1262 ; GFX9-NEXT: s_endpgm
1296 ; GFX9-LABEL: flat_inst_salu_offset_2x_neg_11bit_max:
1297 ; GFX9: ; %bb.0:
1298 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1299 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1300 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1301 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1302 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfffff000, v0
1303 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1304 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1305 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1306 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1307 ; GFX9-NEXT: s_endpgm
1341 ; GFX9-LABEL: flat_inst_salu_offset_2x_neg_12bit_max:
1342 ; GFX9: ; %bb.0:
1343 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1344 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1345 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1346 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1347 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffe000, v0
1348 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1349 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1350 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1351 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1352 ; GFX9-NEXT: s_endpgm
1386 ; GFX9-LABEL: flat_inst_salu_offset_2x_neg_13bit_max:
1387 ; GFX9: ; %bb.0:
1388 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1389 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1390 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1391 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1392 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xffffc000, v0
1393 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
1394 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1395 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1396 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1397 ; GFX9-NEXT: s_endpgm
1432 ; GFX9-LABEL: flat_inst_salu_offset_64bit_11bit_split0:
1433 ; GFX9: ; %bb.0:
1434 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1435 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1436 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1437 ; GFX9-NEXT: v_add_co_u32_e64 v0, vcc, 0, s0
1438 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1439 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2047 glc
1440 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1441 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1442 ; GFX9-NEXT: s_endpgm
1477 ; GFX9-LABEL: flat_inst_salu_offset_64bit_11bit_split1:
1478 ; GFX9: ; %bb.0:
1479 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1480 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1481 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1482 ; GFX9-NEXT: v_add_co_u32_e64 v0, vcc, 0, s0
1483 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1484 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:2048 glc
1485 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1486 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1487 ; GFX9-NEXT: s_endpgm
1522 ; GFX9-LABEL: flat_inst_salu_offset_64bit_12bit_split0:
1523 ; GFX9: ; %bb.0:
1524 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1525 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1526 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1527 ; GFX9-NEXT: v_add_co_u32_e64 v0, vcc, 0, s0
1528 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1529 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
1530 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1531 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1532 ; GFX9-NEXT: s_endpgm
1567 ; GFX9-LABEL: flat_inst_salu_offset_64bit_12bit_split1:
1568 ; GFX9: ; %bb.0:
1569 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1570 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1571 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1572 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1573 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
1574 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1575 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1576 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1577 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1578 ; GFX9-NEXT: s_endpgm
1613 ; GFX9-LABEL: flat_inst_salu_offset_64bit_13bit_split0:
1614 ; GFX9: ; %bb.0:
1615 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1616 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1617 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1618 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1619 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
1620 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1621 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:4095 glc
1622 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1623 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1624 ; GFX9-NEXT: s_endpgm
1659 ; GFX9-LABEL: flat_inst_salu_offset_64bit_13bit_split1:
1660 ; GFX9: ; %bb.0:
1661 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1662 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1663 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1664 ; GFX9-NEXT: v_mov_b32_e32 v1, s1
1665 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x2000, v0
1666 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, 2, v1, vcc
1667 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1668 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1669 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1670 ; GFX9-NEXT: s_endpgm
1705 ; GFX9-LABEL: flat_inst_salu_offset_64bit_11bit_neg_high_split0:
1706 ; GFX9: ; %bb.0:
1707 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1708 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1709 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1710 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1711 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1712 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x7ff, v0
1713 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1714 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1715 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1716 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1717 ; GFX9-NEXT: s_endpgm
1753 ; GFX9-LABEL: flat_inst_salu_offset_64bit_11bit_neg_high_split1:
1754 ; GFX9: ; %bb.0:
1755 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1756 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1757 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1758 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1759 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1760 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x800, v0
1761 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1762 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1763 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1764 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1765 ; GFX9-NEXT: s_endpgm
1801 ; GFX9-LABEL: flat_inst_salu_offset_64bit_12bit_neg_high_split0:
1802 ; GFX9: ; %bb.0:
1803 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1804 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1805 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1806 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1807 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1808 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0xfff, v0
1809 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1810 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1811 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1812 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1813 ; GFX9-NEXT: s_endpgm
1849 ; GFX9-LABEL: flat_inst_salu_offset_64bit_12bit_neg_high_split1:
1850 ; GFX9: ; %bb.0:
1851 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1852 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1853 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1854 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1855 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1856 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1000, v0
1857 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1858 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1859 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1860 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1861 ; GFX9-NEXT: s_endpgm
1897 ; GFX9-LABEL: flat_inst_salu_offset_64bit_13bit_neg_high_split0:
1898 ; GFX9: ; %bb.0:
1899 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1900 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1901 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1902 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1903 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1904 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x1fff, v0
1905 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1906 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1907 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1908 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1909 ; GFX9-NEXT: s_endpgm
1945 ; GFX9-LABEL: flat_inst_salu_offset_64bit_13bit_neg_high_split1:
1946 ; GFX9: ; %bb.0:
1947 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
1948 ; GFX9-NEXT: v_bfrev_b32_e32 v1, 1
1949 ; GFX9-NEXT: s_waitcnt lgkmcnt(0)
1950 ; GFX9-NEXT: v_mov_b32_e32 v0, s0
1951 ; GFX9-NEXT: v_mov_b32_e32 v2, s1
1952 ; GFX9-NEXT: v_add_co_u32_e32 v0, vcc, 0x2000, v0
1953 ; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, v1, v2, vcc
1954 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] glc
1955 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1956 ; GFX9-NEXT: flat_store_byte v[0:1], v0
1957 ; GFX9-NEXT: s_endpgm