@@ -15,18 +15,16 @@ define amdgpu_kernel void @soff1_voff1(i32 %soff) {
1515; GFX940-SDAG-LABEL: soff1_voff1:
1616; GFX940-SDAG: ; %bb.0: ; %bb
1717; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
18- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
1918; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
20- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
19+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
2120; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
22- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
23- ; GFX940-SDAG-NEXT: v_add_u32_e32 v0, v1 , v0
24- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 1 , v0
25- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2 , off sc0 sc1
21+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v0 , s0, v0
22+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v2, 1 , v0
23+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v3, 2 , v0
24+ ; GFX940-SDAG-NEXT: scratch_store_byte v2, v1 , off sc0 sc1
2625; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
27- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
28- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
29- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
26+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
27+ ; GFX940-SDAG-NEXT: scratch_store_byte v3, v1, off sc0 sc1
3028; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
3129; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
3230; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -145,18 +143,17 @@ define amdgpu_kernel void @soff1_voff2(i32 %soff) {
145143; GFX940-SDAG-LABEL: soff1_voff2:
146144; GFX940-SDAG: ; %bb.0: ; %bb
147145; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
148- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
149146; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
150- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
147+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
151148; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
152- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, s0, v1
153- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v1
154- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 1, v0
155- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
149+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, s0
150+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v2
151+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v2, 1, v0
152+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v3, 2, v0
153+ ; GFX940-SDAG-NEXT: scratch_store_byte v2, v1, off sc0 sc1
156154; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
157- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
158- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
159- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
155+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
156+ ; GFX940-SDAG-NEXT: scratch_store_byte v3, v1, off sc0 sc1
160157; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
161158; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
162159; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -282,18 +279,17 @@ define amdgpu_kernel void @soff1_voff4(i32 %soff) {
282279; GFX940-SDAG-LABEL: soff1_voff4:
283280; GFX940-SDAG: ; %bb.0: ; %bb
284281; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
285- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
286282; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
287- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
283+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
288284; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
289- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, s0, v1
290- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v1
291- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 1, v0
292- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
285+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, s0
286+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v2
287+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v2, 1, v0
288+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v3, 2, v0
289+ ; GFX940-SDAG-NEXT: scratch_store_byte v2, v1, off sc0 sc1
293290; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
294- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
295- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
296- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
291+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
292+ ; GFX940-SDAG-NEXT: scratch_store_byte v3, v1, off sc0 sc1
297293; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
298294; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
299295; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -419,19 +415,17 @@ define amdgpu_kernel void @soff2_voff1(i32 %soff) {
419415; GFX940-SDAG-LABEL: soff2_voff1:
420416; GFX940-SDAG: ; %bb.0: ; %bb
421417; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
422- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
423418; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
424- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
419+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
425420; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
426421; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 1
427- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
428- ; GFX940-SDAG-NEXT: v_add_u32_e32 v0, v1 , v0
429- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 1 , v0
430- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2 , off sc0 sc1
422+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v0 , s0, v0
423+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v2, 1 , v0
424+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v3, 2 , v0
425+ ; GFX940-SDAG-NEXT: scratch_store_byte v2, v1 , off sc0 sc1
431426; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
432- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
433- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
434- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
427+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
428+ ; GFX940-SDAG-NEXT: scratch_store_byte v3, v1, off sc0 sc1
435429; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
436430; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
437431; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -556,14 +550,13 @@ define amdgpu_kernel void @soff2_voff2(i32 %soff) {
556550; GFX940-SDAG-LABEL: soff2_voff2:
557551; GFX940-SDAG: ; %bb.0: ; %bb
558552; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
559- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
560553; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
561- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
554+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
562555; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
563556; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 1
564- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
565- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v1
566- ; GFX940-SDAG-NEXT: scratch_store_byte v0, v2 , off offset:1 sc0 sc1
557+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , s0
558+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v2
559+ ; GFX940-SDAG-NEXT: scratch_store_byte v0, v1 , off offset:1 sc0 sc1
567560; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
568561; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
569562; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -698,14 +691,13 @@ define amdgpu_kernel void @soff2_voff4(i32 %soff) {
698691; GFX940-SDAG-LABEL: soff2_voff4:
699692; GFX940-SDAG: ; %bb.0: ; %bb
700693; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
701- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
702694; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
703- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
695+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
704696; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
705697; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 1
706- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
707- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v1
708- ; GFX940-SDAG-NEXT: scratch_store_byte v0, v2 , off offset:1 sc0 sc1
698+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , s0
699+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v2
700+ ; GFX940-SDAG-NEXT: scratch_store_byte v0, v1 , off offset:1 sc0 sc1
709701; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
710702; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
711703; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -840,19 +832,17 @@ define amdgpu_kernel void @soff4_voff1(i32 %soff) {
840832; GFX940-SDAG-LABEL: soff4_voff1:
841833; GFX940-SDAG: ; %bb.0: ; %bb
842834; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
843- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
844835; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
845- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
836+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
846837; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
847838; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 2
848- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
849- ; GFX940-SDAG-NEXT: v_add_u32_e32 v0, v1 , v0
850- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 1 , v0
851- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2 , off sc0 sc1
839+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v0 , s0, v0
840+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v2, 1 , v0
841+ ; GFX940-SDAG-NEXT: v_add_u32_e32 v3, 2 , v0
842+ ; GFX940-SDAG-NEXT: scratch_store_byte v2, v1 , off sc0 sc1
852843; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
853- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
854- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
855- ; GFX940-SDAG-NEXT: scratch_store_byte v1, v2, off sc0 sc1
844+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
845+ ; GFX940-SDAG-NEXT: scratch_store_byte v3, v1, off sc0 sc1
856846; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
857847; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
858848; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -977,14 +967,13 @@ define amdgpu_kernel void @soff4_voff2(i32 %soff) {
977967; GFX940-SDAG-LABEL: soff4_voff2:
978968; GFX940-SDAG: ; %bb.0: ; %bb
979969; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
980- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
981970; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
982- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , 1
971+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1 , 1
983972; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
984973; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 2
985- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1 , s0, v1
986- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v1
987- ; GFX940-SDAG-NEXT: scratch_store_byte v0, v2 , off offset:1 sc0 sc1
974+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2 , s0
975+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 1, v2
976+ ; GFX940-SDAG-NEXT: scratch_store_byte v0, v1 , off offset:1 sc0 sc1
988977; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
989978; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
990979; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -1119,17 +1108,16 @@ define amdgpu_kernel void @soff4_voff4(i32 %soff) {
11191108; GFX940-SDAG-LABEL: soff4_voff4:
11201109; GFX940-SDAG: ; %bb.0: ; %bb
11211110; GFX940-SDAG-NEXT: s_load_dword s0, s[4:5], 0x24
1122- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
11231111; GFX940-SDAG-NEXT: v_and_b32_e32 v0, 0x3ff, v0
1124- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 1
1112+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 1
1113+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
11251114; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
11261115; GFX940-SDAG-NEXT: s_lshl_b32 s0, s0, 2
1127- ; GFX940-SDAG-NEXT: v_add_u32_e32 v1, s0, v1
1128- ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v1
1129- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 2
1130- ; GFX940-SDAG-NEXT: scratch_store_byte v0, v2, off offset:1 sc0 sc1
1116+ ; GFX940-SDAG-NEXT: v_mov_b32_e32 v3, s0
1117+ ; GFX940-SDAG-NEXT: v_lshl_add_u32 v0, v0, 2, v3
1118+ ; GFX940-SDAG-NEXT: scratch_store_byte v0, v1, off offset:1 sc0 sc1
11311119; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
1132- ; GFX940-SDAG-NEXT: scratch_store_byte v0, v1 , off offset:2 sc0 sc1
1120+ ; GFX940-SDAG-NEXT: scratch_store_byte v0, v2 , off offset:2 sc0 sc1
11331121; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
11341122; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
11351123; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
0 commit comments