Lines Matching refs:VI

3 …machineinstrs < %s | FileCheck %s -allow-deprecated-dag-overlap -enable-var-scope --check-prefix=VI
19 ; VI-LABEL: s_sext_i1_to_i32:
20 ; VI: ; %bb.0:
21 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x2c
22 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
23 ; VI-NEXT: s_mov_b32 s3, 0xf000
24 ; VI-NEXT: s_mov_b32 s2, -1
25 ; VI-NEXT: s_waitcnt lgkmcnt(0)
26 ; VI-NEXT: s_cmp_eq_u32 s4, s5
27 ; VI-NEXT: s_cselect_b64 s[4:5], -1, 0
28 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
29 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
30 ; VI-NEXT: s_endpgm
54 ; VI-LABEL: test_s_sext_i32_to_i64:
55 ; VI: ; %bb.0: ; %entry
56 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x2c
57 ; VI-NEXT: s_load_dword s6, s[0:1], 0x34
58 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
59 ; VI-NEXT: s_mov_b32 s3, 0xf000
60 ; VI-NEXT: s_mov_b32 s2, -1
61 ; VI-NEXT: s_waitcnt lgkmcnt(0)
62 ; VI-NEXT: s_mul_i32 s4, s4, s5
63 ; VI-NEXT: s_add_i32 s4, s4, s6
64 ; VI-NEXT: s_ashr_i32 s5, s4, 31
65 ; VI-NEXT: v_mov_b32_e32 v0, s4
66 ; VI-NEXT: v_mov_b32_e32 v1, s5
67 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
68 ; VI-NEXT: s_endpgm
92 ; VI-LABEL: s_sext_i1_to_i64:
93 ; VI: ; %bb.0:
94 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x2c
95 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
96 ; VI-NEXT: s_mov_b32 s3, 0xf000
97 ; VI-NEXT: s_mov_b32 s2, -1
98 ; VI-NEXT: s_waitcnt lgkmcnt(0)
99 ; VI-NEXT: s_cmp_eq_u32 s4, s5
100 ; VI-NEXT: s_cselect_b64 s[4:5], -1, 0
101 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
102 ; VI-NEXT: v_mov_b32_e32 v1, v0
103 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
104 ; VI-NEXT: s_endpgm
125 ; VI-LABEL: s_sext_i32_to_i64:
126 ; VI: ; %bb.0:
127 ; VI-NEXT: s_load_dword s4, s[0:1], 0x2c
128 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
129 ; VI-NEXT: s_mov_b32 s3, 0xf000
130 ; VI-NEXT: s_mov_b32 s2, -1
131 ; VI-NEXT: s_waitcnt lgkmcnt(0)
132 ; VI-NEXT: s_ashr_i32 s5, s4, 31
133 ; VI-NEXT: v_mov_b32_e32 v0, s4
134 ; VI-NEXT: v_mov_b32_e32 v1, s5
135 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
136 ; VI-NEXT: s_endpgm
161 ; VI-LABEL: v_sext_i32_to_i64:
162 ; VI: ; %bb.0:
163 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
164 ; VI-NEXT: s_mov_b32 s7, 0xf000
165 ; VI-NEXT: s_mov_b32 s6, -1
166 ; VI-NEXT: s_mov_b32 s10, s6
167 ; VI-NEXT: s_mov_b32 s11, s7
168 ; VI-NEXT: s_waitcnt lgkmcnt(0)
169 ; VI-NEXT: s_mov_b32 s8, s2
170 ; VI-NEXT: s_mov_b32 s9, s3
171 ; VI-NEXT: buffer_load_dword v0, off, s[8:11], 0
172 ; VI-NEXT: s_mov_b32 s4, s0
173 ; VI-NEXT: s_mov_b32 s5, s1
174 ; VI-NEXT: s_waitcnt vmcnt(0)
175 ; VI-NEXT: v_ashrrev_i32_e32 v1, 31, v0
176 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 0
177 ; VI-NEXT: s_endpgm
198 ; VI-LABEL: s_sext_i16_to_i64:
199 ; VI: ; %bb.0:
200 ; VI-NEXT: s_load_dword s4, s[0:1], 0x2c
201 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
202 ; VI-NEXT: s_mov_b32 s3, 0xf000
203 ; VI-NEXT: s_mov_b32 s2, -1
204 ; VI-NEXT: s_waitcnt lgkmcnt(0)
205 ; VI-NEXT: s_bfe_i64 s[4:5], s[4:5], 0x100000
206 ; VI-NEXT: v_mov_b32_e32 v0, s4
207 ; VI-NEXT: v_mov_b32_e32 v1, s5
208 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
209 ; VI-NEXT: s_endpgm
229 ; VI-LABEL: s_sext_i1_to_i16:
230 ; VI: ; %bb.0:
231 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x2c
232 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
233 ; VI-NEXT: s_mov_b32 s3, 0xf000
234 ; VI-NEXT: s_mov_b32 s2, -1
235 ; VI-NEXT: s_waitcnt lgkmcnt(0)
236 ; VI-NEXT: s_cmp_eq_u32 s4, s5
237 ; VI-NEXT: s_cselect_b64 s[4:5], -1, 0
238 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
239 ; VI-NEXT: buffer_store_short v0, off, s[0:3], 0
240 ; VI-NEXT: s_endpgm
268 ; VI-LABEL: s_sext_i1_to_i16_with_and:
269 ; VI: ; %bb.0:
270 ; VI-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0x2c
271 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
272 ; VI-NEXT: s_mov_b32 s3, 0xf000
273 ; VI-NEXT: s_mov_b32 s2, -1
274 ; VI-NEXT: s_waitcnt lgkmcnt(0)
275 ; VI-NEXT: s_cmp_eq_u32 s4, s5
276 ; VI-NEXT: s_cselect_b64 s[4:5], -1, 0
277 ; VI-NEXT: s_cmp_eq_u32 s6, s7
278 ; VI-NEXT: s_cselect_b64 s[6:7], -1, 0
279 ; VI-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]
280 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
281 ; VI-NEXT: buffer_store_short v0, off, s[0:3], 0
282 ; VI-NEXT: s_endpgm
308 ; VI-LABEL: v_sext_i1_to_i16_with_and:
309 ; VI: ; %bb.0:
310 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x2c
311 ; VI-NEXT: s_load_dword s6, s[0:1], 0x34
312 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
313 ; VI-NEXT: s_mov_b32 s3, 0xf000
314 ; VI-NEXT: s_mov_b32 s2, -1
315 ; VI-NEXT: s_waitcnt lgkmcnt(0)
316 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s4, v0
317 ; VI-NEXT: s_cmp_eq_u32 s5, s6
318 ; VI-NEXT: s_cselect_b64 s[4:5], -1, 0
319 ; VI-NEXT: s_and_b64 s[4:5], vcc, s[4:5]
320 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
321 ; VI-NEXT: buffer_store_short v0, off, s[0:3], 0
322 ; VI-NEXT: s_endpgm
366 ; VI-LABEL: s_sext_v4i8_to_v4i32:
367 ; VI: ; %bb.0:
368 ; VI-NEXT: s_load_dword s4, s[0:1], 0x2c
369 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
370 ; VI-NEXT: s_mov_b32 s3, 0xf000
371 ; VI-NEXT: s_mov_b32 s2, -1
372 ; VI-NEXT: s_waitcnt lgkmcnt(0)
373 ; VI-NEXT: v_lshrrev_b16_e64 v0, 8, s4
374 ; VI-NEXT: s_ashr_i32 s5, s4, 24
375 ; VI-NEXT: s_bfe_i32 s6, s4, 0x80010
376 ; VI-NEXT: s_sext_i32_i8 s4, s4
377 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 8
378 ; VI-NEXT: v_mov_b32_e32 v1, s4
379 ; VI-NEXT: buffer_store_dword v1, off, s[0:3], 0
380 ; VI-NEXT: s_waitcnt vmcnt(0)
381 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
382 ; VI-NEXT: s_waitcnt vmcnt(0)
383 ; VI-NEXT: v_mov_b32_e32 v0, s6
384 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
385 ; VI-NEXT: s_waitcnt vmcnt(0)
386 ; VI-NEXT: v_mov_b32_e32 v0, s5
387 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
388 ; VI-NEXT: s_waitcnt vmcnt(0)
389 ; VI-NEXT: s_endpgm
434 ; VI-LABEL: v_sext_v4i8_to_v4i32:
435 ; VI: ; %bb.0:
436 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
437 ; VI-NEXT: s_mov_b32 s7, 0xf000
438 ; VI-NEXT: s_mov_b32 s6, -1
439 ; VI-NEXT: s_mov_b32 s10, s6
440 ; VI-NEXT: s_mov_b32 s11, s7
441 ; VI-NEXT: s_waitcnt lgkmcnt(0)
442 ; VI-NEXT: s_mov_b32 s8, s2
443 ; VI-NEXT: s_mov_b32 s9, s3
444 ; VI-NEXT: buffer_load_dword v0, off, s[8:11], 0
445 ; VI-NEXT: s_mov_b32 s4, s0
446 ; VI-NEXT: s_mov_b32 s5, s1
447 ; VI-NEXT: s_waitcnt vmcnt(0)
448 ; VI-NEXT: v_lshrrev_b16_e32 v1, 8, v0
449 ; VI-NEXT: v_ashrrev_i32_e32 v2, 24, v0
450 ; VI-NEXT: v_bfe_i32 v3, v0, 16, 8
451 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 8
452 ; VI-NEXT: v_bfe_i32 v1, v1, 0, 8
453 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
454 ; VI-NEXT: s_waitcnt vmcnt(0)
455 ; VI-NEXT: buffer_store_dword v1, off, s[4:7], 0
456 ; VI-NEXT: s_waitcnt vmcnt(0)
457 ; VI-NEXT: buffer_store_dword v3, off, s[4:7], 0
458 ; VI-NEXT: s_waitcnt vmcnt(0)
459 ; VI-NEXT: buffer_store_dword v2, off, s[4:7], 0
460 ; VI-NEXT: s_waitcnt vmcnt(0)
461 ; VI-NEXT: s_endpgm
476 ; FIXME: s_bfe_i64, same on SI and VI
504 ; VI-LABEL: s_sext_v4i16_to_v4i32:
505 ; VI: ; %bb.0:
506 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
507 ; VI-NEXT: s_mov_b32 s7, 0xf000
508 ; VI-NEXT: s_mov_b32 s6, -1
509 ; VI-NEXT: s_waitcnt lgkmcnt(0)
510 ; VI-NEXT: s_mov_b32 s5, s1
511 ; VI-NEXT: s_ashr_i32 s1, s2, 16
512 ; VI-NEXT: s_sext_i32_i16 s2, s2
513 ; VI-NEXT: s_mov_b32 s4, s0
514 ; VI-NEXT: v_mov_b32_e32 v0, s2
515 ; VI-NEXT: s_ashr_i32 s0, s3, 16
516 ; VI-NEXT: s_sext_i32_i16 s3, s3
517 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
518 ; VI-NEXT: s_waitcnt vmcnt(0)
519 ; VI-NEXT: v_mov_b32_e32 v0, s1
520 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
521 ; VI-NEXT: s_waitcnt vmcnt(0)
522 ; VI-NEXT: v_mov_b32_e32 v0, s3
523 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
524 ; VI-NEXT: s_waitcnt vmcnt(0)
525 ; VI-NEXT: v_mov_b32_e32 v0, s0
526 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
527 ; VI-NEXT: s_waitcnt vmcnt(0)
528 ; VI-NEXT: s_endpgm
571 ; VI-LABEL: v_sext_v4i16_to_v4i32:
572 ; VI: ; %bb.0:
573 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
574 ; VI-NEXT: s_mov_b32 s7, 0xf000
575 ; VI-NEXT: s_mov_b32 s6, -1
576 ; VI-NEXT: s_mov_b32 s10, s6
577 ; VI-NEXT: s_mov_b32 s11, s7
578 ; VI-NEXT: s_waitcnt lgkmcnt(0)
579 ; VI-NEXT: s_mov_b32 s8, s2
580 ; VI-NEXT: s_mov_b32 s9, s3
581 ; VI-NEXT: buffer_load_dwordx2 v[0:1], off, s[8:11], 0
582 ; VI-NEXT: s_mov_b32 s4, s0
583 ; VI-NEXT: s_mov_b32 s5, s1
584 ; VI-NEXT: s_waitcnt vmcnt(0)
585 ; VI-NEXT: v_ashrrev_i32_e32 v3, 16, v0
586 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 16
587 ; VI-NEXT: v_ashrrev_i32_e32 v2, 16, v1
588 ; VI-NEXT: v_bfe_i32 v1, v1, 0, 16
589 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
590 ; VI-NEXT: s_waitcnt vmcnt(0)
591 ; VI-NEXT: buffer_store_dword v3, off, s[4:7], 0
592 ; VI-NEXT: s_waitcnt vmcnt(0)
593 ; VI-NEXT: buffer_store_dword v1, off, s[4:7], 0
594 ; VI-NEXT: s_waitcnt vmcnt(0)
595 ; VI-NEXT: buffer_store_dword v2, off, s[4:7], 0
596 ; VI-NEXT: s_waitcnt vmcnt(0)
597 ; VI-NEXT: s_endpgm