@@ -168,7 +168,6 @@ define void @main(i1 %arg) #0 {
168
168
; CHECK-NEXT: s_mov_b64 vcc, vcc
169
169
; CHECK-NEXT: s_cbranch_vccnz .LBB0_2
170
170
; CHECK-NEXT: .LBB0_3: ; %Flow14
171
- ; CHECK-NEXT: s_or_saveexec_b64 s[20:21], s[26:27]
172
171
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
173
172
; CHECK-NEXT: v_readlane_b32 s12, v5, 32
174
173
; CHECK-NEXT: v_readlane_b32 s13, v5, 33
@@ -178,39 +177,39 @@ define void @main(i1 %arg) #0 {
178
177
; CHECK-NEXT: v_readlane_b32 s17, v5, 37
179
178
; CHECK-NEXT: v_readlane_b32 s18, v5, 38
180
179
; 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 ]
214
213
; CHECK-NEXT: s_cbranch_execz .LBB0_10
215
214
; CHECK-NEXT: ; %bb.4: ; %bb32
216
215
; CHECK-NEXT: s_and_saveexec_b64 s[8:9], s[24:25]
@@ -265,59 +264,61 @@ define void @main(i1 %arg) #0 {
265
264
; CHECK-NEXT: s_waitcnt vmcnt(1)
266
265
; CHECK-NEXT: buffer_store_dwordx4 v[2:5], off, s[8:11], 0
267
266
; 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]
269
285
; CHECK-NEXT: s_cbranch_execz .LBB0_9
270
286
; CHECK-NEXT: ; %bb.7: ; %bb33.preheader
271
287
; CHECK-NEXT: s_mov_b32 s8, 0
272
288
; CHECK-NEXT: s_mov_b32 s6, s8
273
- ; CHECK-NEXT: v_readlane_b32 s36, v5, 40
274
289
; CHECK-NEXT: s_mov_b32 s7, s8
275
290
; 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
277
292
; CHECK-NEXT: s_mov_b32 s9, s8
278
293
; CHECK-NEXT: s_mov_b32 s10, s8
279
294
; CHECK-NEXT: s_mov_b32 s11, s8
280
295
; 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
301
296
; CHECK-NEXT: v_readlane_b32 s37, v5, 57
302
297
; CHECK-NEXT: v_readlane_b32 s38, v5, 58
303
298
; CHECK-NEXT: v_readlane_b32 s39, v5, 59
304
299
; CHECK-NEXT: v_readlane_b32 s40, v5, 60
305
300
; CHECK-NEXT: v_readlane_b32 s41, v5, 61
306
301
; CHECK-NEXT: v_readlane_b32 s42, v5, 62
307
302
; 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
308
306
; CHECK-NEXT: ; kill: killed $vgpr2_vgpr3
307
+ ; CHECK-NEXT: s_mov_b64 s[12:13], s[36:37]
309
308
; CHECK-NEXT: s_and_b64 vcc, exec, 0
310
309
; CHECK-NEXT: v_readlane_b32 s44, v4, 0
311
310
; CHECK-NEXT: v_readlane_b32 s45, v4, 1
312
311
; CHECK-NEXT: v_readlane_b32 s46, v4, 2
313
312
; 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
315
313
; CHECK-NEXT: v_readlane_b32 s48, v4, 4
316
314
; CHECK-NEXT: v_readlane_b32 s49, v4, 5
317
315
; CHECK-NEXT: v_readlane_b32 s50, v4, 6
318
316
; 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]
319
320
; 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
321
322
; CHECK-NEXT: ; kill: killed $sgpr8_sgpr9_sgpr10 killed $sgpr11
322
323
; CHECK-NEXT: s_waitcnt vmcnt(0)
323
324
; CHECK-NEXT: v_sub_f32_e32 v2, v7, v6
0 commit comments