@@ -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
4544; CHECK-NEXT: v_writelane_b32 v6, s71, 21
4645; CHECK-NEXT: s_waitcnt lgkmcnt(0)
4746; 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
8079; CHECK-NEXT: s_load_dwordx16 s[8:23], s[68:69], 0x1f0
8180; CHECK-NEXT: s_load_dwordx16 s[36:51], s[68:69], 0x2f0
8281; CHECK-NEXT: s_mov_b32 s69, s68
8382; CHECK-NEXT: s_mov_b32 s70, s68
8483; CHECK-NEXT: s_mov_b32 s71, s68
85- ; CHECK-NEXT: v_mov_b32_e32 v3, v2
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
8686; CHECK-NEXT: v_readlane_b32 s52, v7, 0
87+ ; CHECK-NEXT: v_mov_b32_e32 v3, v2
8788; CHECK-NEXT: v_readlane_b32 s53, v7, 1
8889; CHECK-NEXT: v_readlane_b32 s54, v7, 2
8990; CHECK-NEXT: v_readlane_b32 s55, v7, 3
9091; CHECK-NEXT: v_readlane_b32 s56, v7, 4
9192; CHECK-NEXT: v_readlane_b32 s57, v7, 5
9293; CHECK-NEXT: v_readlane_b32 s58, v7, 6
9394; 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: image_sample_lz v4, v[2:3], s[52:59], s[68:71] dmask:0x1
10099; CHECK-NEXT: v_readlane_b32 s62, v7, 10
100+ ; CHECK-NEXT: image_sample_lz v4, v[2:3], s[52:59], s[68:71] dmask:0x1
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,6 +109,7 @@ 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
112113; CHECK-NEXT: v_readlane_b32 s60, v7, 24
113114; CHECK-NEXT: v_readlane_b32 s61, v7, 25
114115; CHECK-NEXT: v_readlane_b32 s62, v7, 26
@@ -119,11 +120,10 @@ define void @main(i1 %arg) #0 {
119120; CHECK-NEXT: v_readlane_b32 s67, v7, 31
120121; CHECK-NEXT: v_mov_b32_e32 v1, v2
121122; 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: image_sample_lz v3, v[2:3], s[60:67], s[68:71] dmask:0x1
126125; CHECK-NEXT: v_readlane_b32 s55, v7, 19
126+ ; CHECK-NEXT: image_sample_lz v3, v[2:3], s[60:67], s[68:71] dmask:0x1
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,25 +152,27 @@ 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 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
155+ ; CHECK-NEXT: v_readlane_b32 s44, v7, 16
163156; CHECK-NEXT: v_mov_b32_e32 v1, s17
164157; CHECK-NEXT: s_mov_b32 s18, s16
165158; CHECK-NEXT: s_mov_b32 s19, s16
166- ; CHECK-NEXT: v_readlane_b32 s44, v7, 16
167159; CHECK-NEXT: v_readlane_b32 s45, v7, 17
168160; CHECK-NEXT: v_readlane_b32 s46, v7, 18
169161; CHECK-NEXT: v_readlane_b32 s47, v7, 19
170162; CHECK-NEXT: v_readlane_b32 s48, v7, 20
171163; CHECK-NEXT: v_readlane_b32 s49, v7, 21
172164; CHECK-NEXT: v_readlane_b32 s50, v7, 22
173165; 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
174176; CHECK-NEXT: v_readlane_b32 s52, v7, 8
175177; CHECK-NEXT: v_readlane_b32 s53, v7, 9
176178; CHECK-NEXT: v_readlane_b32 s54, v7, 10
@@ -179,14 +181,12 @@ define void @main(i1 %arg) #0 {
179181; CHECK-NEXT: v_readlane_b32 s57, v7, 13
180182; CHECK-NEXT: v_readlane_b32 s58, v7, 14
181183; 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
183184; CHECK-NEXT: v_mov_b32_e32 v3, 0
184185; 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
188187; CHECK-NEXT: v_readlane_b32 s46, v7, 2
189188; 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