@@ -15,18 +15,16 @@ define amdgpu_kernel void @soff1_voff1(i32 %soff) {
15
15
; GFX940-SDAG-LABEL: soff1_voff1:
16
16
; GFX940-SDAG: ; %bb.0: ; %bb
17
17
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
18
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
19
18
; 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
21
20
; 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
26
25
; 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
30
28
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
31
29
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
32
30
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -145,18 +143,17 @@ define amdgpu_kernel void @soff1_voff2(i32 %soff) {
145
143
; GFX940-SDAG-LABEL: soff1_voff2:
146
144
; GFX940-SDAG: ; %bb.0: ; %bb
147
145
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
148
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
149
146
; 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
151
148
; 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
156
154
; 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
160
157
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
161
158
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
162
159
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -282,18 +279,17 @@ define amdgpu_kernel void @soff1_voff4(i32 %soff) {
282
279
; GFX940-SDAG-LABEL: soff1_voff4:
283
280
; GFX940-SDAG: ; %bb.0: ; %bb
284
281
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
285
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
286
282
; 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
288
284
; 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
293
290
; 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
297
293
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
298
294
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
299
295
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -419,19 +415,17 @@ define amdgpu_kernel void @soff2_voff1(i32 %soff) {
419
415
; GFX940-SDAG-LABEL: soff2_voff1:
420
416
; GFX940-SDAG: ; %bb.0: ; %bb
421
417
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
422
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
423
418
; 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
425
420
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
426
421
; 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
431
426
; 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
435
429
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
436
430
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
437
431
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -556,14 +550,13 @@ define amdgpu_kernel void @soff2_voff2(i32 %soff) {
556
550
; GFX940-SDAG-LABEL: soff2_voff2:
557
551
; GFX940-SDAG: ; %bb.0: ; %bb
558
552
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
559
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
560
553
; 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
562
555
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
563
556
; 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
567
560
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
568
561
; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
569
562
; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -698,14 +691,13 @@ define amdgpu_kernel void @soff2_voff4(i32 %soff) {
698
691
; GFX940-SDAG-LABEL: soff2_voff4:
699
692
; GFX940-SDAG: ; %bb.0: ; %bb
700
693
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
701
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
702
694
; 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
704
696
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
705
697
; 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
709
701
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
710
702
; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
711
703
; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -840,19 +832,17 @@ define amdgpu_kernel void @soff4_voff1(i32 %soff) {
840
832
; GFX940-SDAG-LABEL: soff4_voff1:
841
833
; GFX940-SDAG: ; %bb.0: ; %bb
842
834
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
843
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
844
835
; 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
846
837
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
847
838
; 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
852
843
; 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
856
846
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
857
847
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
858
848
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
@@ -977,14 +967,13 @@ define amdgpu_kernel void @soff4_voff2(i32 %soff) {
977
967
; GFX940-SDAG-LABEL: soff4_voff2:
978
968
; GFX940-SDAG: ; %bb.0: ; %bb
979
969
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
980
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
981
970
; 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
983
972
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
984
973
; 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
988
977
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
989
978
; GFX940-SDAG-NEXT: v_add_u32_e32 v1, 2, v0
990
979
; GFX940-SDAG-NEXT: v_mov_b32_e32 v2, 2
@@ -1119,17 +1108,16 @@ define amdgpu_kernel void @soff4_voff4(i32 %soff) {
1119
1108
; GFX940-SDAG-LABEL: soff4_voff4:
1120
1109
; GFX940-SDAG: ; %bb.0: ; %bb
1121
1110
; GFX940-SDAG-NEXT: s_load_dword s0, s[2:3], 0x24
1122
- ; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 0
1123
1111
; 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
1125
1114
; GFX940-SDAG-NEXT: s_waitcnt lgkmcnt(0)
1126
1115
; 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
1131
1119
; 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
1133
1121
; GFX940-SDAG-NEXT: s_waitcnt vmcnt(0)
1134
1122
; GFX940-SDAG-NEXT: v_add_u32_e32 v0, 4, v0
1135
1123
; GFX940-SDAG-NEXT: v_mov_b32_e32 v1, 4
0 commit comments