@@ -168,7 +168,6 @@ define void @main(i1 %arg) #0 {
168168; CHECK-NEXT: s_mov_b64 vcc, vcc
169169; CHECK-NEXT: s_cbranch_vccnz .LBB0_2
170170; CHECK-NEXT: .LBB0_3: ; %Flow14
171- ; CHECK-NEXT: s_or_saveexec_b64 s[20:21], s[26:27]
172171; CHECK-NEXT: s_waitcnt lgkmcnt(0)
173172; CHECK-NEXT: v_readlane_b32 s12, v5, 32
174173; CHECK-NEXT: v_readlane_b32 s13, v5, 33
@@ -178,39 +177,39 @@ define void @main(i1 %arg) #0 {
178177; CHECK-NEXT: v_readlane_b32 s17, v5, 37
179178; CHECK-NEXT: v_readlane_b32 s18, v5, 38
180179; CHECK-NEXT: v_readlane_b32 s19, v5, 39
181- ; CHECK-NEXT: v_writelane_b32 v5, s4, 56
182- ; CHECK-NEXT: v_writelane_b32 v5, s5, 57
183- ; CHECK-NEXT: v_writelane_b32 v5, s6, 58
184- ; CHECK-NEXT: v_writelane_b32 v5, s7, 59
185- ; CHECK-NEXT: v_writelane_b32 v5, s8, 60
186- ; CHECK-NEXT: v_writelane_b32 v5, s9, 61
187- ; CHECK-NEXT: v_writelane_b32 v5, s10, 62
188- ; CHECK-NEXT: v_writelane_b32 v5, s11, 63
189- ; CHECK-NEXT: v_writelane_b32 v5, s52, 40
190- ; CHECK-NEXT: v_writelane_b32 v5, s53, 41
191- ; CHECK-NEXT: v_writelane_b32 v5, s54, 42
192- ; CHECK-NEXT: v_writelane_b32 v5, s55, 43
193- ; CHECK-NEXT: v_writelane_b32 v5, s56, 44
194- ; CHECK-NEXT: v_writelane_b32 v5, s57, 45
195- ; CHECK-NEXT: v_writelane_b32 v5, s58, 46
196- ; CHECK-NEXT: v_writelane_b32 v5, s59, 47
197- ; CHECK-NEXT: v_writelane_b32 v4, s12, 0
198- ; CHECK-NEXT: v_writelane_b32 v5 , s60, 48
199- ; CHECK-NEXT: v_writelane_b32 v4, s13, 1
200- ; CHECK-NEXT: v_writelane_b32 v5 , s61, 49
201- ; CHECK-NEXT: v_writelane_b32 v4, s14, 2
202- ; CHECK-NEXT: v_writelane_b32 v5 , s62, 50
203- ; CHECK-NEXT: v_writelane_b32 v4, s15, 3
204- ; CHECK-NEXT: v_writelane_b32 v5 , s63, 51
205- ; CHECK-NEXT: v_writelane_b32 v4, s16, 4
206- ; CHECK-NEXT: v_writelane_b32 v5 , s64, 52
207- ; CHECK-NEXT: v_writelane_b32 v4, s17, 5
208- ; CHECK-NEXT: v_writelane_b32 v5 , s65, 53
209- ; CHECK-NEXT: v_writelane_b32 v4, s18, 6
210- ; CHECK-NEXT: v_writelane_b32 v5 , s66, 54
211- ; CHECK-NEXT: v_writelane_b32 v4, s19, 7
212- ; CHECK-NEXT: v_writelane_b32 v5 , s67, 55
213- ; CHECK-NEXT: s_xor_b64 exec, exec, s[20:21]
180+ ; CHECK-NEXT: v_writelane_b32 v5, s4, 40
181+ ; CHECK-NEXT: v_writelane_b32 v5, s5, 41
182+ ; CHECK-NEXT: v_writelane_b32 v5, s6, 42
183+ ; CHECK-NEXT: v_writelane_b32 v5, s7, 43
184+ ; CHECK-NEXT: v_writelane_b32 v5, s8, 44
185+ ; CHECK-NEXT: v_writelane_b32 v5, s9, 45
186+ ; CHECK-NEXT: v_writelane_b32 v5, s10, 46
187+ ; CHECK-NEXT: v_writelane_b32 v5, s11, 47
188+ ; CHECK-NEXT: v_writelane_b32 v5, s12, 48
189+ ; CHECK-NEXT: v_writelane_b32 v5, s13, 49
190+ ; CHECK-NEXT: v_writelane_b32 v5, s14, 50
191+ ; CHECK-NEXT: v_writelane_b32 v5, s15, 51
192+ ; CHECK-NEXT: v_writelane_b32 v5, s16, 52
193+ ; CHECK-NEXT: v_writelane_b32 v5, s17, 53
194+ ; CHECK-NEXT: v_writelane_b32 v5, s18, 54
195+ ; CHECK-NEXT: v_writelane_b32 v5, s19, 55
196+ ; CHECK-NEXT: v_writelane_b32 v5, s52, 56
197+ ; CHECK-NEXT: v_writelane_b32 v4 , s60, 0
198+ ; CHECK-NEXT: v_writelane_b32 v5, s53, 57
199+ ; CHECK-NEXT: v_writelane_b32 v4 , s61, 1
200+ ; CHECK-NEXT: v_writelane_b32 v5, s54, 58
201+ ; CHECK-NEXT: v_writelane_b32 v4 , s62, 2
202+ ; CHECK-NEXT: v_writelane_b32 v5, s55, 59
203+ ; CHECK-NEXT: v_writelane_b32 v4 , s63, 3
204+ ; CHECK-NEXT: v_writelane_b32 v5, s56, 60
205+ ; CHECK-NEXT: v_writelane_b32 v4 , s64, 4
206+ ; CHECK-NEXT: v_writelane_b32 v5, s57, 61
207+ ; CHECK-NEXT: v_writelane_b32 v4 , s65, 5
208+ ; CHECK-NEXT: v_writelane_b32 v5, s58, 62
209+ ; CHECK-NEXT: v_writelane_b32 v4 , s66, 6
210+ ; CHECK-NEXT: v_writelane_b32 v5, s59, 63
211+ ; CHECK-NEXT: v_writelane_b32 v4 , s67, 7
212+ ; CHECK-NEXT: s_andn2_saveexec_b64 s[20:21], s[26:27 ]
214213; CHECK-NEXT: s_cbranch_execz .LBB0_10
215214; CHECK-NEXT: ; %bb.4: ; %bb32
216215; CHECK-NEXT: s_and_saveexec_b64 s[8:9], s[24:25]
@@ -265,59 +264,61 @@ define void @main(i1 %arg) #0 {
265264; CHECK-NEXT: s_waitcnt vmcnt(1)
266265; CHECK-NEXT: buffer_store_dwordx4 v[2:5], off, s[8:11], 0
267266; CHECK-NEXT: .LBB0_6: ; %Flow12
268- ; CHECK-NEXT: s_andn2_saveexec_b64 s[4:5], s[22:23]
267+ ; CHECK-NEXT: s_or_saveexec_b64 s[4:5], s[22:23]
268+ ; CHECK-NEXT: v_readlane_b32 s52, v5, 40
269+ ; CHECK-NEXT: v_readlane_b32 s53, v5, 41
270+ ; CHECK-NEXT: v_readlane_b32 s54, v5, 42
271+ ; CHECK-NEXT: v_readlane_b32 s55, v5, 43
272+ ; CHECK-NEXT: v_readlane_b32 s56, v5, 44
273+ ; CHECK-NEXT: v_readlane_b32 s57, v5, 45
274+ ; CHECK-NEXT: v_readlane_b32 s58, v5, 46
275+ ; CHECK-NEXT: v_readlane_b32 s59, v5, 47
276+ ; CHECK-NEXT: v_readlane_b32 s60, v5, 48
277+ ; CHECK-NEXT: v_readlane_b32 s61, v5, 49
278+ ; CHECK-NEXT: v_readlane_b32 s62, v5, 50
279+ ; CHECK-NEXT: v_readlane_b32 s63, v5, 51
280+ ; CHECK-NEXT: v_readlane_b32 s64, v5, 52
281+ ; CHECK-NEXT: v_readlane_b32 s65, v5, 53
282+ ; CHECK-NEXT: v_readlane_b32 s66, v5, 54
283+ ; CHECK-NEXT: v_readlane_b32 s67, v5, 55
284+ ; CHECK-NEXT: s_xor_b64 exec, exec, s[4:5]
269285; CHECK-NEXT: s_cbranch_execz .LBB0_9
270286; CHECK-NEXT: ; %bb.7: ; %bb33.preheader
271287; CHECK-NEXT: s_mov_b32 s8, 0
272288; CHECK-NEXT: s_mov_b32 s6, s8
273- ; CHECK-NEXT: v_readlane_b32 s36, v5, 40
274289; CHECK-NEXT: s_mov_b32 s7, s8
275290; CHECK-NEXT: v_mov_b32_e32 v2, s6
276- ; CHECK-NEXT: v_readlane_b32 s37 , v5, 41
291+ ; CHECK-NEXT: v_readlane_b32 s36 , v5, 56
277292; CHECK-NEXT: s_mov_b32 s9, s8
278293; CHECK-NEXT: s_mov_b32 s10, s8
279294; CHECK-NEXT: s_mov_b32 s11, s8
280295; CHECK-NEXT: v_mov_b32_e32 v3, s7
281- ; CHECK-NEXT: v_readlane_b32 s38, v5, 42
282- ; CHECK-NEXT: v_readlane_b32 s39, v5, 43
283- ; CHECK-NEXT: v_readlane_b32 s40, v5, 44
284- ; CHECK-NEXT: v_readlane_b32 s41, v5, 45
285- ; CHECK-NEXT: v_readlane_b32 s42, v5, 46
286- ; CHECK-NEXT: v_readlane_b32 s43, v5, 47
287- ; CHECK-NEXT: v_readlane_b32 s44, v5, 48
288- ; CHECK-NEXT: v_readlane_b32 s45, v5, 49
289- ; CHECK-NEXT: v_readlane_b32 s46, v5, 50
290- ; CHECK-NEXT: v_readlane_b32 s47, v5, 51
291- ; CHECK-NEXT: v_readlane_b32 s48, v5, 52
292- ; CHECK-NEXT: v_readlane_b32 s49, v5, 53
293- ; CHECK-NEXT: v_readlane_b32 s50, v5, 54
294- ; CHECK-NEXT: v_readlane_b32 s51, v5, 55
295- ; CHECK-NEXT: s_mov_b64 s[12:13], s[36:37]
296- ; CHECK-NEXT: s_mov_b64 s[14:15], s[38:39]
297- ; CHECK-NEXT: s_mov_b64 s[16:17], s[40:41]
298- ; CHECK-NEXT: s_mov_b64 s[18:19], s[42:43]
299- ; CHECK-NEXT: image_sample_lz v6, v[2:3], s[36:43], s[8:11] dmask:0x1
300- ; CHECK-NEXT: v_readlane_b32 s36, v5, 56
301296; CHECK-NEXT: v_readlane_b32 s37, v5, 57
302297; CHECK-NEXT: v_readlane_b32 s38, v5, 58
303298; CHECK-NEXT: v_readlane_b32 s39, v5, 59
304299; CHECK-NEXT: v_readlane_b32 s40, v5, 60
305300; CHECK-NEXT: v_readlane_b32 s41, v5, 61
306301; CHECK-NEXT: v_readlane_b32 s42, v5, 62
307302; CHECK-NEXT: v_readlane_b32 s43, v5, 63
303+ ; CHECK-NEXT: s_nop 4
304+ ; CHECK-NEXT: image_sample_lz v6, v[2:3], s[36:43], s[8:11] dmask:0x1
305+ ; CHECK-NEXT: image_sample_lz v7, v[2:3], s[52:59], s[8:11] dmask:0x1
308306; CHECK-NEXT: ; kill: killed $vgpr2_vgpr3
307+ ; CHECK-NEXT: s_mov_b64 s[12:13], s[36:37]
309308; CHECK-NEXT: s_and_b64 vcc, exec, 0
310309; CHECK-NEXT: v_readlane_b32 s44, v4, 0
311310; CHECK-NEXT: v_readlane_b32 s45, v4, 1
312311; CHECK-NEXT: v_readlane_b32 s46, v4, 2
313312; CHECK-NEXT: v_readlane_b32 s47, v4, 3
314- ; CHECK-NEXT: image_sample_lz v7, v[2:3], s[36:43], s[8:11] dmask:0x1
315313; CHECK-NEXT: v_readlane_b32 s48, v4, 4
316314; CHECK-NEXT: v_readlane_b32 s49, v4, 5
317315; CHECK-NEXT: v_readlane_b32 s50, v4, 6
318316; CHECK-NEXT: v_readlane_b32 s51, v4, 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]
319320; CHECK-NEXT: ; kill: killed $sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19
320- ; CHECK-NEXT: ; kill: killed $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43
321+ ; CHECK-NEXT: ; kill: killed $sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59
321322; CHECK-NEXT: ; kill: killed $sgpr8_sgpr9_sgpr10 killed $sgpr11
322323; CHECK-NEXT: s_waitcnt vmcnt(0)
323324; CHECK-NEXT: v_sub_f32_e32 v2, v7, v6
0 commit comments