@@ -176,39 +176,39 @@ define void @main(i1 %arg) #0 {
176176; CHECK-NEXT: v_readlane_b32 s17, v7, 37
177177; CHECK-NEXT: v_readlane_b32 s18, v7, 38
178178; CHECK-NEXT: v_readlane_b32 s19, v7, 39
179- ; CHECK-NEXT: v_writelane_b32 v7, s4, 40
180- ; CHECK-NEXT: v_writelane_b32 v7, s5, 41
181- ; CHECK-NEXT: v_writelane_b32 v7, s6, 42
182- ; CHECK-NEXT: v_writelane_b32 v7, s7, 43
183- ; CHECK-NEXT: v_writelane_b32 v7, s8, 44
184- ; CHECK-NEXT: v_writelane_b32 v7, s9, 45
185- ; CHECK-NEXT: v_writelane_b32 v7, s10, 46
186- ; CHECK-NEXT: v_writelane_b32 v7, s11, 47
187- ; CHECK-NEXT: v_writelane_b32 v7, s12, 48
188- ; CHECK-NEXT: v_writelane_b32 v7, s13, 49
189- ; CHECK-NEXT: v_writelane_b32 v7, s14, 50
190- ; CHECK-NEXT: v_writelane_b32 v7, s15, 51
191- ; CHECK-NEXT: v_writelane_b32 v7, s16, 52
192- ; CHECK-NEXT: v_writelane_b32 v7, s17, 53
193- ; CHECK-NEXT: v_writelane_b32 v7, s18, 54
194- ; CHECK-NEXT: v_writelane_b32 v7, s19, 55
179+ ; CHECK-NEXT: v_writelane_b32 v7, s4, 56
180+ ; CHECK-NEXT: v_writelane_b32 v7, s5, 57
181+ ; CHECK-NEXT: v_writelane_b32 v7, s6, 58
182+ ; CHECK-NEXT: v_writelane_b32 v7, s7, 59
183+ ; CHECK-NEXT: v_writelane_b32 v7, s8, 60
184+ ; CHECK-NEXT: v_writelane_b32 v7, s9, 61
185+ ; CHECK-NEXT: v_writelane_b32 v7, s10, 62
186+ ; CHECK-NEXT: v_writelane_b32 v7, s11, 63
187+ ; CHECK-NEXT: v_writelane_b32 v7, s52, 40
188+ ; CHECK-NEXT: v_writelane_b32 v7, s53, 41
189+ ; CHECK-NEXT: v_writelane_b32 v7, s54, 42
190+ ; CHECK-NEXT: v_writelane_b32 v7, s55, 43
191+ ; CHECK-NEXT: v_writelane_b32 v7, s56, 44
192+ ; CHECK-NEXT: v_writelane_b32 v7, s57, 45
193+ ; CHECK-NEXT: v_writelane_b32 v7, s58, 46
195194; CHECK-NEXT: ; implicit-def: $vgpr6 : SGPR spill to VGPR lane
196- ; CHECK-NEXT: v_writelane_b32 v7, s52, 56
197- ; CHECK-NEXT: v_writelane_b32 v6, s60, 0
198- ; CHECK-NEXT: v_writelane_b32 v7, s53, 57
199- ; CHECK-NEXT: v_writelane_b32 v6, s61, 1
200- ; CHECK-NEXT: v_writelane_b32 v7, s54, 58
201- ; CHECK-NEXT: v_writelane_b32 v6, s62, 2
202- ; CHECK-NEXT: v_writelane_b32 v7, s55, 59
203- ; CHECK-NEXT: v_writelane_b32 v6, s63, 3
204- ; CHECK-NEXT: v_writelane_b32 v7, s56, 60
205- ; CHECK-NEXT: v_writelane_b32 v6, s64, 4
206- ; CHECK-NEXT: v_writelane_b32 v7, s57, 61
207- ; CHECK-NEXT: v_writelane_b32 v6, s65, 5
208- ; CHECK-NEXT: v_writelane_b32 v7, s58, 62
209- ; CHECK-NEXT: v_writelane_b32 v6, s66, 6
210- ; CHECK-NEXT: v_writelane_b32 v7, s59, 63
211- ; CHECK-NEXT: v_writelane_b32 v6, s67, 7
195+ ; CHECK-NEXT: v_writelane_b32 v7, s59, 47
196+ ; CHECK-NEXT: v_writelane_b32 v6, s12, 0
197+ ; CHECK-NEXT: v_writelane_b32 v7, s60, 48
198+ ; CHECK-NEXT: v_writelane_b32 v6, s13, 1
199+ ; CHECK-NEXT: v_writelane_b32 v7, s61, 49
200+ ; CHECK-NEXT: v_writelane_b32 v6, s14, 2
201+ ; CHECK-NEXT: v_writelane_b32 v7, s62, 50
202+ ; CHECK-NEXT: v_writelane_b32 v6, s15, 3
203+ ; CHECK-NEXT: v_writelane_b32 v7, s63, 51
204+ ; CHECK-NEXT: v_writelane_b32 v6, s16, 4
205+ ; CHECK-NEXT: v_writelane_b32 v7, s64, 52
206+ ; CHECK-NEXT: v_writelane_b32 v6, s17, 5
207+ ; CHECK-NEXT: v_writelane_b32 v7, s65, 53
208+ ; CHECK-NEXT: v_writelane_b32 v6, s18, 6
209+ ; CHECK-NEXT: v_writelane_b32 v7, s66, 54
210+ ; CHECK-NEXT: v_writelane_b32 v6, s19, 7
211+ ; CHECK-NEXT: v_writelane_b32 v7, s67, 55
212212; CHECK-NEXT: s_andn2_saveexec_b64 s[20:21], s[26:27]
213213; CHECK-NEXT: s_cbranch_execz .LBB0_10
214214; CHECK-NEXT: ; %bb.4: ; %bb32
@@ -264,62 +264,60 @@ define void @main(i1 %arg) #0 {
264264; CHECK-NEXT: buffer_store_dwordx4 v[0:3], off, s[8:11], 0
265265; CHECK-NEXT: ; implicit-def: $vgpr0
266266; CHECK-NEXT: .LBB0_6: ; %Flow12
267- ; CHECK-NEXT: s_or_saveexec_b64 s[4:5], s[22:23]
268- ; CHECK-NEXT: v_readlane_b32 s52, v7, 40
269- ; CHECK-NEXT: v_readlane_b32 s53, v7, 41
270- ; CHECK-NEXT: v_readlane_b32 s54, v7, 42
271- ; CHECK-NEXT: v_readlane_b32 s55, v7, 43
272- ; CHECK-NEXT: v_readlane_b32 s56, v7, 44
273- ; CHECK-NEXT: v_readlane_b32 s57, v7, 45
274- ; CHECK-NEXT: v_readlane_b32 s58, v7, 46
275- ; CHECK-NEXT: v_readlane_b32 s59, v7, 47
276- ; CHECK-NEXT: v_readlane_b32 s60, v7, 48
277- ; CHECK-NEXT: v_readlane_b32 s61, v7, 49
278- ; CHECK-NEXT: v_readlane_b32 s62, v7, 50
279- ; CHECK-NEXT: v_readlane_b32 s63, v7, 51
280- ; CHECK-NEXT: v_readlane_b32 s64, v7, 52
281- ; CHECK-NEXT: v_readlane_b32 s65, v7, 53
282- ; CHECK-NEXT: v_readlane_b32 s66, v7, 54
283- ; CHECK-NEXT: v_readlane_b32 s67, v7, 55
284- ; CHECK-NEXT: s_xor_b64 exec, exec, s[4:5]
267+ ; CHECK-NEXT: s_andn2_saveexec_b64 s[4:5], s[22:23]
285268; CHECK-NEXT: s_cbranch_execz .LBB0_9
286269; CHECK-NEXT: ; %bb.7: ; %bb33.preheader
287270; CHECK-NEXT: s_mov_b32 s8, 0
288271; CHECK-NEXT: s_mov_b32 s6, s8
272+ ; CHECK-NEXT: v_readlane_b32 s36, v7, 40
289273; CHECK-NEXT: s_mov_b32 s7, s8
290274; CHECK-NEXT: v_mov_b32_e32 v1, s6
291- ; CHECK-NEXT: v_readlane_b32 s36 , v7, 56
275+ ; CHECK-NEXT: v_readlane_b32 s37 , v7, 41
292276; CHECK-NEXT: s_mov_b32 s9, s8
293277; CHECK-NEXT: s_mov_b32 s10, s8
294278; CHECK-NEXT: s_mov_b32 s11, s8
295279; CHECK-NEXT: v_mov_b32_e32 v2, s7
280+ ; CHECK-NEXT: v_readlane_b32 s38, v7, 42
281+ ; CHECK-NEXT: v_readlane_b32 s39, v7, 43
282+ ; CHECK-NEXT: v_readlane_b32 s40, v7, 44
283+ ; CHECK-NEXT: v_readlane_b32 s41, v7, 45
284+ ; CHECK-NEXT: v_readlane_b32 s42, v7, 46
285+ ; CHECK-NEXT: v_readlane_b32 s43, v7, 47
286+ ; CHECK-NEXT: v_readlane_b32 s44, v7, 48
287+ ; CHECK-NEXT: v_readlane_b32 s45, v7, 49
288+ ; CHECK-NEXT: v_readlane_b32 s46, v7, 50
289+ ; CHECK-NEXT: v_readlane_b32 s47, v7, 51
290+ ; CHECK-NEXT: v_readlane_b32 s48, v7, 52
291+ ; CHECK-NEXT: v_readlane_b32 s49, v7, 53
292+ ; CHECK-NEXT: v_readlane_b32 s50, v7, 54
293+ ; CHECK-NEXT: v_readlane_b32 s51, v7, 55
294+ ; CHECK-NEXT: s_mov_b64 s[12:13], s[36:37]
295+ ; CHECK-NEXT: s_mov_b64 s[14:15], s[38:39]
296+ ; CHECK-NEXT: s_mov_b64 s[16:17], s[40:41]
297+ ; CHECK-NEXT: s_mov_b64 s[18:19], s[42:43]
298+ ; CHECK-NEXT: image_sample_lz v3, v[1:2], s[36:43], s[8:11] dmask:0x1
299+ ; CHECK-NEXT: v_readlane_b32 s36, v7, 56
296300; CHECK-NEXT: v_readlane_b32 s37, v7, 57
297301; CHECK-NEXT: v_readlane_b32 s38, v7, 58
298302; CHECK-NEXT: v_readlane_b32 s39, v7, 59
299303; CHECK-NEXT: v_readlane_b32 s40, v7, 60
300304; CHECK-NEXT: v_readlane_b32 s41, v7, 61
301305; CHECK-NEXT: v_readlane_b32 s42, v7, 62
302306; CHECK-NEXT: v_readlane_b32 s43, v7, 63
303- ; CHECK-NEXT: s_nop 4
304- ; CHECK-NEXT: image_sample_lz v3, v[1:2], s[36:43], s[8:11] dmask:0x1
305- ; CHECK-NEXT: image_sample_lz v4, v[1:2], s[52:59], s[8:11] dmask:0x1
306307; CHECK-NEXT: ; kill: killed $vgpr1_vgpr2
307- ; CHECK-NEXT: s_mov_b64 s[12:13], s[36:37]
308308; CHECK-NEXT: s_and_b64 vcc, exec, 0
309309; CHECK-NEXT: v_readlane_b32 s44, v6, 0
310310; CHECK-NEXT: v_readlane_b32 s45, v6, 1
311311; CHECK-NEXT: v_readlane_b32 s46, v6, 2
312312; CHECK-NEXT: v_readlane_b32 s47, v6, 3
313+ ; CHECK-NEXT: image_sample_lz v4, v[1:2], s[36:43], s[8:11] dmask:0x1
313314; CHECK-NEXT: v_readlane_b32 s48, v6, 4
314315; CHECK-NEXT: v_readlane_b32 s49, v6, 5
315316; CHECK-NEXT: v_readlane_b32 s50, v6, 6
316317; CHECK-NEXT: v_readlane_b32 s51, v6, 7
317- ; CHECK-NEXT: s_mov_b64 s[14:15], s[38:39]
318- ; CHECK-NEXT: s_mov_b64 s[16:17], s[40:41]
319- ; CHECK-NEXT: s_mov_b64 s[18:19], s[42:43]
320318; CHECK-NEXT: ; kill: killed $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19
321319; CHECK-NEXT: ; kill: killed $sgpr8_sgpr9_sgpr10 killed $sgpr11
322- ; CHECK-NEXT: ; kill: killed $sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59
320+ ; CHECK-NEXT: ; kill: killed $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43
323321; CHECK-NEXT: s_waitcnt vmcnt(0)
324322; CHECK-NEXT: v_sub_f32_e32 v1, v4, v3
325323; CHECK-NEXT: v_mul_f32_e32 v0, v1, v0
0 commit comments