@@ -41,10 +41,10 @@ define void @main(i1 %arg) #0 {
4141; CHECK-NEXT: s_load_dwordx16 s[8:23], s[68:69], 0x130
4242; CHECK-NEXT: ; implicit-def: $vgpr7 : SGPR spill to VGPR lane
4343; CHECK-NEXT: v_writelane_b32 v6, s70, 20
44+ ; CHECK-NEXT: v_mov_b32_e32 v2, 0
4445; CHECK-NEXT: v_writelane_b32 v6, s71, 21
4546; CHECK-NEXT: s_waitcnt lgkmcnt(0)
4647; CHECK-NEXT: v_mov_b32_e32 v1, s4
47- ; CHECK-NEXT: v_mov_b32_e32 v2, 0
4848; CHECK-NEXT: v_writelane_b32 v7, s8, 0
4949; CHECK-NEXT: v_writelane_b32 v7, s9, 1
5050; CHECK-NEXT: v_writelane_b32 v7, s10, 2
@@ -76,28 +76,28 @@ define void @main(i1 %arg) #0 {
7676; CHECK-NEXT: v_writelane_b32 v7, s64, 28
7777; CHECK-NEXT: v_writelane_b32 v7, s65, 29
7878; CHECK-NEXT: v_writelane_b32 v7, s66, 30
79+ ; CHECK-NEXT: v_writelane_b32 v7, s67, 31
7980; CHECK-NEXT: s_load_dwordx16 s[8:23], s[68:69], 0x1f0
8081; CHECK-NEXT: s_load_dwordx16 s[36:51], s[68:69], 0x2f0
8182; CHECK-NEXT: s_mov_b32 s69, s68
8283; CHECK-NEXT: s_mov_b32 s70, s68
8384; CHECK-NEXT: s_mov_b32 s71, s68
84- ; CHECK-NEXT: v_writelane_b32 v7, s67, 31
85- ; CHECK-NEXT: image_sample_lz v1, v[1:2], s[60:67], s[68:71] dmask:0x1
86- ; CHECK-NEXT: v_readlane_b32 s52, v7, 0
8785; CHECK-NEXT: v_mov_b32_e32 v3, v2
86+ ; CHECK-NEXT: v_readlane_b32 s52, v7, 0
8887; CHECK-NEXT: v_readlane_b32 s53, v7, 1
8988; CHECK-NEXT: v_readlane_b32 s54, v7, 2
9089; CHECK-NEXT: v_readlane_b32 s55, v7, 3
9190; CHECK-NEXT: v_readlane_b32 s56, v7, 4
9291; CHECK-NEXT: v_readlane_b32 s57, v7, 5
9392; CHECK-NEXT: v_readlane_b32 s58, v7, 6
9493; CHECK-NEXT: v_readlane_b32 s59, v7, 7
94+ ; CHECK-NEXT: image_sample_lz v1, v[1:2], s[60:67], s[68:71] dmask:0x1
9595; CHECK-NEXT: v_and_b32_e32 v5, 1, v0
9696; CHECK-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v5
9797; CHECK-NEXT: v_readlane_b32 s60, v7, 8
9898; CHECK-NEXT: v_readlane_b32 s61, v7, 9
99- ; CHECK-NEXT: v_readlane_b32 s62, v7, 10
10099; CHECK-NEXT: image_sample_lz v4, v[2:3], s[52:59], s[68:71] dmask:0x1
100+ ; CHECK-NEXT: v_readlane_b32 s62, v7, 10
101101; CHECK-NEXT: v_readlane_b32 s63, v7, 11
102102; CHECK-NEXT: v_readlane_b32 s64, v7, 12
103103; CHECK-NEXT: v_readlane_b32 s65, v7, 13
@@ -109,7 +109,6 @@ define void @main(i1 %arg) #0 {
109109; CHECK-NEXT: s_xor_b64 s[6:7], exec, s[6:7]
110110; CHECK-NEXT: s_cbranch_execz .LBB0_3
111111; CHECK-NEXT: ; %bb.1: ; %bb48
112- ; CHECK-NEXT: v_readlane_b32 s52, v7, 16
113112; CHECK-NEXT: v_readlane_b32 s60, v7, 24
114113; CHECK-NEXT: v_readlane_b32 s61, v7, 25
115114; CHECK-NEXT: v_readlane_b32 s62, v7, 26
@@ -120,10 +119,11 @@ define void @main(i1 %arg) #0 {
120119; CHECK-NEXT: v_readlane_b32 s67, v7, 31
121120; CHECK-NEXT: v_mov_b32_e32 v1, v2
122121; CHECK-NEXT: s_and_b64 vcc, exec, -1
122+ ; CHECK-NEXT: v_readlane_b32 s52, v7, 16
123123; CHECK-NEXT: v_readlane_b32 s53, v7, 17
124124; CHECK-NEXT: v_readlane_b32 s54, v7, 18
125- ; CHECK-NEXT: v_readlane_b32 s55, v7, 19
126125; CHECK-NEXT: image_sample_lz v3, v[2:3], s[60:67], s[68:71] dmask:0x1
126+ ; CHECK-NEXT: v_readlane_b32 s55, v7, 19
127127; CHECK-NEXT: v_readlane_b32 s56, v7, 20
128128; CHECK-NEXT: v_readlane_b32 s57, v7, 21
129129; CHECK-NEXT: v_readlane_b32 s58, v7, 22
@@ -152,27 +152,25 @@ define void @main(i1 %arg) #0 {
152152; CHECK-NEXT: s_mov_b32 s16, 0
153153; CHECK-NEXT: s_mov_b32 s17, s16
154154; CHECK-NEXT: v_mov_b32_e32 v0, s16
155- ; CHECK-NEXT: v_readlane_b32 s44, v7, 16
155+ ; CHECK-NEXT: v_readlane_b32 s52, v7, 24
156+ ; CHECK-NEXT: v_readlane_b32 s53, v7, 25
157+ ; CHECK-NEXT: v_readlane_b32 s54, v7, 26
158+ ; CHECK-NEXT: v_readlane_b32 s55, v7, 27
159+ ; CHECK-NEXT: v_readlane_b32 s56, v7, 28
160+ ; CHECK-NEXT: v_readlane_b32 s57, v7, 29
161+ ; CHECK-NEXT: v_readlane_b32 s58, v7, 30
162+ ; CHECK-NEXT: v_readlane_b32 s59, v7, 31
156163; CHECK-NEXT: v_mov_b32_e32 v1, s17
157164; CHECK-NEXT: s_mov_b32 s18, s16
158165; CHECK-NEXT: s_mov_b32 s19, s16
166+ ; CHECK-NEXT: v_readlane_b32 s44, v7, 16
159167; CHECK-NEXT: v_readlane_b32 s45, v7, 17
160168; CHECK-NEXT: v_readlane_b32 s46, v7, 18
161169; CHECK-NEXT: v_readlane_b32 s47, v7, 19
162170; CHECK-NEXT: v_readlane_b32 s48, v7, 20
163171; CHECK-NEXT: v_readlane_b32 s49, v7, 21
164172; CHECK-NEXT: v_readlane_b32 s50, v7, 22
165173; CHECK-NEXT: v_readlane_b32 s51, v7, 23
166- ; CHECK-NEXT: v_readlane_b32 s52, v7, 24
167- ; CHECK-NEXT: v_readlane_b32 s53, v7, 25
168- ; CHECK-NEXT: v_readlane_b32 s54, v7, 26
169- ; CHECK-NEXT: v_readlane_b32 s55, v7, 27
170- ; CHECK-NEXT: v_readlane_b32 s56, v7, 28
171- ; CHECK-NEXT: v_readlane_b32 s57, v7, 29
172- ; CHECK-NEXT: v_readlane_b32 s58, v7, 30
173- ; CHECK-NEXT: v_readlane_b32 s59, v7, 31
174- ; CHECK-NEXT: image_sample_lz v2, v[0:1], s[44:51], s[16:19] dmask:0x1
175- ; CHECK-NEXT: v_readlane_b32 s44, v7, 0
176174; CHECK-NEXT: v_readlane_b32 s52, v7, 8
177175; CHECK-NEXT: v_readlane_b32 s53, v7, 9
178176; CHECK-NEXT: v_readlane_b32 s54, v7, 10
@@ -181,12 +179,14 @@ define void @main(i1 %arg) #0 {
181179; CHECK-NEXT: v_readlane_b32 s57, v7, 13
182180; CHECK-NEXT: v_readlane_b32 s58, v7, 14
183181; CHECK-NEXT: v_readlane_b32 s59, v7, 15
182+ ; CHECK-NEXT: image_sample_lz v2, v[0:1], s[44:51], s[16:19] dmask:0x1
184183; CHECK-NEXT: v_mov_b32_e32 v3, 0
185184; CHECK-NEXT: v_mov_b32_e32 v4, v3
185+ ; CHECK-NEXT: v_readlane_b32 s44, v7, 0
186186; CHECK-NEXT: v_readlane_b32 s45, v7, 1
187+ ; CHECK-NEXT: image_sample_lz v0, v[0:1], s[52:59], s[24:27] dmask:0x1
187188; CHECK-NEXT: v_readlane_b32 s46, v7, 2
188189; CHECK-NEXT: v_readlane_b32 s47, v7, 3
189- ; CHECK-NEXT: image_sample_lz v0, v[0:1], s[52:59], s[24:27] dmask:0x1
190190; CHECK-NEXT: v_readlane_b32 s48, v7, 4
191191; CHECK-NEXT: v_readlane_b32 s49, v7, 5
192192; CHECK-NEXT: v_readlane_b32 s50, v7, 6
0 commit comments