• Home
  • Raw
  • Download

Lines Matching refs:VI

3 …neinstrs < %s | FileCheck %s -allow-deprecated-dag-overlap -enable-var-scope -check-prefixes=GCN,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], 0x24
22 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x2c
23 ; VI-NEXT: s_mov_b32 s7, 0xf000
24 ; VI-NEXT: s_mov_b32 s6, -1
25 ; VI-NEXT: s_waitcnt lgkmcnt(0)
26 ; VI-NEXT: v_mov_b32_e32 v0, s1
27 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s0, v0
28 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, vcc
29 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 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], 0x24
57 ; VI-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x2c
58 ; VI-NEXT: s_load_dword s0, s[0:1], 0x34
59 ; VI-NEXT: s_mov_b32 s7, 0xf000
60 ; VI-NEXT: s_mov_b32 s6, -1
61 ; VI-NEXT: s_waitcnt lgkmcnt(0)
62 ; VI-NEXT: s_mul_i32 s1, s2, s3
63 ; VI-NEXT: s_add_i32 s1, s1, s0
64 ; VI-NEXT: s_ashr_i32 s0, s1, 31
65 ; VI-NEXT: v_mov_b32_e32 v0, s1
66 ; VI-NEXT: v_mov_b32_e32 v1, s0
67 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 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], 0x24
95 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x2c
96 ; VI-NEXT: s_mov_b32 s7, 0xf000
97 ; VI-NEXT: s_mov_b32 s6, -1
98 ; VI-NEXT: s_waitcnt lgkmcnt(0)
99 ; VI-NEXT: v_mov_b32_e32 v0, s1
100 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s0, v0
101 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, vcc
102 ; VI-NEXT: v_mov_b32_e32 v1, v0
103 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 0
104 ; VI-NEXT: s_endpgm
125 ; VI-LABEL: s_sext_i32_to_i64:
126 ; VI: ; %bb.0:
127 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24
128 ; VI-NEXT: s_load_dword s0, s[0:1], 0x2c
129 ; VI-NEXT: s_mov_b32 s7, 0xf000
130 ; VI-NEXT: s_mov_b32 s6, -1
131 ; VI-NEXT: s_waitcnt lgkmcnt(0)
132 ; VI-NEXT: s_ashr_i32 s1, s0, 31
133 ; VI-NEXT: v_mov_b32_e32 v0, s0
134 ; VI-NEXT: v_mov_b32_e32 v1, s1
135 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 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[4:7], s[0:1], 0x24
164 ; VI-NEXT: s_mov_b32 s3, 0xf000
165 ; VI-NEXT: s_mov_b32 s2, -1
166 ; VI-NEXT: s_waitcnt lgkmcnt(0)
167 ; VI-NEXT: s_mov_b32 s0, s4
168 ; VI-NEXT: s_mov_b32 s1, s5
169 ; VI-NEXT: s_mov_b32 s4, s6
170 ; VI-NEXT: s_mov_b32 s5, s7
171 ; VI-NEXT: s_mov_b32 s6, s2
172 ; VI-NEXT: s_mov_b32 s7, s3
173 ; VI-NEXT: buffer_load_dword v0, off, s[4:7], 0
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[0:3], 0
177 ; VI-NEXT: s_endpgm
198 ; VI-LABEL: s_sext_i16_to_i64:
199 ; VI: ; %bb.0:
200 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24
201 ; VI-NEXT: s_load_dword s0, s[0:1], 0x2c
202 ; VI-NEXT: s_mov_b32 s7, 0xf000
203 ; VI-NEXT: s_mov_b32 s6, -1
204 ; VI-NEXT: s_waitcnt lgkmcnt(0)
205 ; VI-NEXT: s_bfe_i64 s[0:1], s[0:1], 0x100000
206 ; VI-NEXT: v_mov_b32_e32 v0, s0
207 ; VI-NEXT: v_mov_b32_e32 v1, s1
208 ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 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], 0x24
232 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x2c
233 ; VI-NEXT: s_mov_b32 s7, 0xf000
234 ; VI-NEXT: s_mov_b32 s6, -1
235 ; VI-NEXT: s_waitcnt lgkmcnt(0)
236 ; VI-NEXT: v_mov_b32_e32 v0, s1
237 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s0, v0
238 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, vcc
239 ; VI-NEXT: buffer_store_short v0, off, s[4:7], 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_dwordx2 s[4:5], s[0:1], 0x24
271 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x2c
272 ; VI-NEXT: s_mov_b32 s7, 0xf000
273 ; VI-NEXT: s_mov_b32 s6, -1
274 ; VI-NEXT: s_waitcnt lgkmcnt(0)
275 ; VI-NEXT: v_mov_b32_e32 v0, s1
276 ; VI-NEXT: v_mov_b32_e32 v1, s3
277 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s0, v0
278 ; VI-NEXT: v_cmp_eq_u32_e64 s[0:1], s2, v1
279 ; VI-NEXT: s_and_b64 s[0:1], vcc, s[0:1]
280 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[0:1]
281 ; VI-NEXT: buffer_store_short v0, off, s[4:7], 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], 0x24
311 ; VI-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x2c
312 ; VI-NEXT: s_load_dword s0, s[0:1], 0x34
313 ; VI-NEXT: s_mov_b32 s7, 0xf000
314 ; VI-NEXT: s_mov_b32 s6, -1
315 ; VI-NEXT: s_waitcnt lgkmcnt(0)
316 ; VI-NEXT: v_cmp_eq_u32_e32 vcc, s2, v0
317 ; VI-NEXT: v_mov_b32_e32 v0, s0
318 ; VI-NEXT: v_cmp_eq_u32_e64 s[0:1], s3, v0
319 ; VI-NEXT: s_and_b64 s[0:1], vcc, s[0:1]
320 ; VI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[0:1]
321 ; VI-NEXT: buffer_store_short v0, off, s[4:7], 0
322 ; VI-NEXT: s_endpgm
365 ; VI-LABEL: s_sext_v4i8_to_v4i32:
366 ; VI: ; %bb.0:
367 ; VI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24
368 ; VI-NEXT: s_load_dword s0, s[0:1], 0x2c
369 ; VI-NEXT: s_mov_b32 s7, 0xf000
370 ; VI-NEXT: s_mov_b32 s6, -1
371 ; VI-NEXT: s_waitcnt lgkmcnt(0)
372 ; VI-NEXT: v_lshrrev_b16_e64 v0, 8, s0
373 ; VI-NEXT: s_ashr_i32 s1, s0, 24
374 ; VI-NEXT: s_bfe_i32 s2, s0, 0x80010
375 ; VI-NEXT: s_sext_i32_i8 s0, s0
376 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 8
377 ; VI-NEXT: v_mov_b32_e32 v1, s0
378 ; VI-NEXT: buffer_store_dword v1, off, s[4:7], 0
379 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
380 ; VI-NEXT: v_mov_b32_e32 v0, s2
381 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
382 ; VI-NEXT: v_mov_b32_e32 v0, s1
383 ; VI-NEXT: buffer_store_dword v0, off, s[4:7], 0
384 ; VI-NEXT: s_endpgm
425 ; VI-LABEL: v_sext_v4i8_to_v4i32:
426 ; VI: ; %bb.0:
427 ; VI-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0x24
428 ; VI-NEXT: s_mov_b32 s3, 0xf000
429 ; VI-NEXT: s_mov_b32 s2, -1
430 ; VI-NEXT: s_mov_b32 s10, s2
431 ; VI-NEXT: s_mov_b32 s11, s3
432 ; VI-NEXT: s_waitcnt lgkmcnt(0)
433 ; VI-NEXT: s_mov_b32 s8, s6
434 ; VI-NEXT: s_mov_b32 s9, s7
435 ; VI-NEXT: buffer_load_dword v0, off, s[8:11], 0
436 ; VI-NEXT: s_mov_b32 s0, s4
437 ; VI-NEXT: s_mov_b32 s1, s5
438 ; VI-NEXT: s_waitcnt vmcnt(0)
439 ; VI-NEXT: v_lshrrev_b16_e32 v1, 8, v0
440 ; VI-NEXT: v_ashrrev_i32_e32 v2, 24, v0
441 ; VI-NEXT: v_bfe_i32 v3, v0, 16, 8
442 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 8
443 ; VI-NEXT: v_bfe_i32 v1, v1, 0, 8
444 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
445 ; VI-NEXT: buffer_store_dword v1, off, s[0:3], 0
446 ; VI-NEXT: buffer_store_dword v3, off, s[0:3], 0
447 ; VI-NEXT: buffer_store_dword v2, off, s[0:3], 0
448 ; VI-NEXT: s_endpgm
463 ; FIXME: s_bfe_i64, same on SI and VI
490 ; VI-LABEL: s_sext_v4i16_to_v4i32:
491 ; VI: ; %bb.0:
492 ; VI-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0x24
493 ; VI-NEXT: s_mov_b32 s3, 0xf000
494 ; VI-NEXT: s_mov_b32 s2, -1
495 ; VI-NEXT: s_waitcnt lgkmcnt(0)
496 ; VI-NEXT: s_mov_b32 s1, s5
497 ; VI-NEXT: s_ashr_i32 s5, s6, 16
498 ; VI-NEXT: s_sext_i32_i16 s6, s6
499 ; VI-NEXT: s_mov_b32 s0, s4
500 ; VI-NEXT: v_mov_b32_e32 v0, s6
501 ; VI-NEXT: s_ashr_i32 s4, s7, 16
502 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
503 ; VI-NEXT: v_mov_b32_e32 v0, s5
504 ; VI-NEXT: s_sext_i32_i16 s7, s7
505 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
506 ; VI-NEXT: v_mov_b32_e32 v0, s7
507 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
508 ; VI-NEXT: v_mov_b32_e32 v0, s4
509 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
510 ; VI-NEXT: s_endpgm
549 ; VI-LABEL: v_sext_v4i16_to_v4i32:
550 ; VI: ; %bb.0:
551 ; VI-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0x24
552 ; VI-NEXT: s_mov_b32 s3, 0xf000
553 ; VI-NEXT: s_mov_b32 s2, -1
554 ; VI-NEXT: s_mov_b32 s10, s2
555 ; VI-NEXT: s_mov_b32 s11, s3
556 ; VI-NEXT: s_waitcnt lgkmcnt(0)
557 ; VI-NEXT: s_mov_b32 s8, s6
558 ; VI-NEXT: s_mov_b32 s9, s7
559 ; VI-NEXT: buffer_load_dwordx2 v[0:1], off, s[8:11], 0
560 ; VI-NEXT: s_mov_b32 s0, s4
561 ; VI-NEXT: s_mov_b32 s1, s5
562 ; VI-NEXT: s_waitcnt vmcnt(0)
563 ; VI-NEXT: v_ashrrev_i32_e32 v3, 16, v0
564 ; VI-NEXT: v_bfe_i32 v0, v0, 0, 16
565 ; VI-NEXT: v_ashrrev_i32_e32 v2, 16, v1
566 ; VI-NEXT: v_bfe_i32 v1, v1, 0, 16
567 ; VI-NEXT: buffer_store_dword v0, off, s[0:3], 0
568 ; VI-NEXT: buffer_store_dword v3, off, s[0:3], 0
569 ; VI-NEXT: buffer_store_dword v1, off, s[0:3], 0
570 ; VI-NEXT: buffer_store_dword v2, off, s[0:3], 0
571 ; VI-NEXT: s_endpgm