Lines Matching refs:SI

2 …machineinstrs < %s | FileCheck %s -allow-deprecated-dag-overlap -enable-var-scope --check-prefix=SI
6 ; SI-LABEL: s_sext_i1_to_i32:
7 ; SI: ; %bb.0:
8 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
9 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
10 ; SI-NEXT: s_mov_b32 s3, 0xf000
11 ; SI-NEXT: s_mov_b32 s2, -1
12 ; SI-NEXT: s_waitcnt lgkmcnt(0)
13 ; SI-NEXT: s_cmp_eq_u32 s4, s5
14 ; SI-NEXT: s_cselect_b64 s[4:5], -1, 0
15 ; SI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
16 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
17 ; SI-NEXT: s_endpgm
38 ; SI-LABEL: test_s_sext_i32_to_i64:
39 ; SI: ; %bb.0: ; %entry
40 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
41 ; SI-NEXT: s_load_dword s6, s[0:1], 0xd
42 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
43 ; SI-NEXT: s_mov_b32 s3, 0xf000
44 ; SI-NEXT: s_mov_b32 s2, -1
45 ; SI-NEXT: s_waitcnt lgkmcnt(0)
46 ; SI-NEXT: s_mul_i32 s4, s4, s5
47 ; SI-NEXT: s_add_i32 s4, s4, s6
48 ; SI-NEXT: s_ashr_i32 s5, s4, 31
49 ; SI-NEXT: v_mov_b32_e32 v0, s4
50 ; SI-NEXT: v_mov_b32_e32 v1, s5
51 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
52 ; SI-NEXT: s_endpgm
78 ; SI-LABEL: s_sext_i1_to_i64:
79 ; SI: ; %bb.0:
80 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
81 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
82 ; SI-NEXT: s_mov_b32 s3, 0xf000
83 ; SI-NEXT: s_mov_b32 s2, -1
84 ; SI-NEXT: s_waitcnt lgkmcnt(0)
85 ; SI-NEXT: s_cmp_eq_u32 s4, s5
86 ; SI-NEXT: s_cselect_b64 s[4:5], -1, 0
87 ; SI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
88 ; SI-NEXT: v_mov_b32_e32 v1, v0
89 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
90 ; SI-NEXT: s_endpgm
112 ; SI-LABEL: s_sext_i32_to_i64:
113 ; SI: ; %bb.0:
114 ; SI-NEXT: s_load_dword s4, s[0:1], 0xb
115 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
116 ; SI-NEXT: s_mov_b32 s3, 0xf000
117 ; SI-NEXT: s_mov_b32 s2, -1
118 ; SI-NEXT: s_waitcnt lgkmcnt(0)
119 ; SI-NEXT: s_ashr_i32 s5, s4, 31
120 ; SI-NEXT: v_mov_b32_e32 v0, s4
121 ; SI-NEXT: v_mov_b32_e32 v1, s5
122 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
123 ; SI-NEXT: s_endpgm
143 ; SI-LABEL: v_sext_i32_to_i64:
144 ; SI: ; %bb.0:
145 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
146 ; SI-NEXT: s_mov_b32 s7, 0xf000
147 ; SI-NEXT: s_mov_b32 s6, -1
148 ; SI-NEXT: s_mov_b32 s10, s6
149 ; SI-NEXT: s_mov_b32 s11, s7
150 ; SI-NEXT: s_waitcnt lgkmcnt(0)
151 ; SI-NEXT: s_mov_b32 s8, s2
152 ; SI-NEXT: s_mov_b32 s9, s3
153 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
154 ; SI-NEXT: s_mov_b32 s4, s0
155 ; SI-NEXT: s_mov_b32 s5, s1
156 ; SI-NEXT: s_waitcnt vmcnt(0)
157 ; SI-NEXT: v_ashrrev_i32_e32 v1, 31, v0
158 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[4:7], 0
159 ; SI-NEXT: s_endpgm
185 ; SI-LABEL: s_sext_i16_to_i64:
186 ; SI: ; %bb.0:
187 ; SI-NEXT: s_load_dword s4, s[0:1], 0xb
188 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
189 ; SI-NEXT: s_mov_b32 s3, 0xf000
190 ; SI-NEXT: s_mov_b32 s2, -1
191 ; SI-NEXT: s_waitcnt lgkmcnt(0)
192 ; SI-NEXT: s_bfe_i64 s[4:5], s[4:5], 0x100000
193 ; SI-NEXT: v_mov_b32_e32 v0, s4
194 ; SI-NEXT: v_mov_b32_e32 v1, s5
195 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
196 ; SI-NEXT: s_endpgm
216 ; SI-LABEL: s_sext_i1_to_i16:
217 ; SI: ; %bb.0:
218 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
219 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
220 ; SI-NEXT: s_mov_b32 s3, 0xf000
221 ; SI-NEXT: s_mov_b32 s2, -1
222 ; SI-NEXT: s_waitcnt lgkmcnt(0)
223 ; SI-NEXT: s_cmp_eq_u32 s4, s5
224 ; SI-NEXT: s_cselect_b64 s[4:5], -1, 0
225 ; SI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
226 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
227 ; SI-NEXT: s_endpgm
252 ; SI-LABEL: s_sext_i1_to_i16_with_and:
253 ; SI: ; %bb.0:
254 ; SI-NEXT: s_load_dwordx4 s[4:7], s[0:1], 0xb
255 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
256 ; SI-NEXT: s_mov_b32 s3, 0xf000
257 ; SI-NEXT: s_mov_b32 s2, -1
258 ; SI-NEXT: s_waitcnt lgkmcnt(0)
259 ; SI-NEXT: s_cmp_eq_u32 s4, s5
260 ; SI-NEXT: s_cselect_b64 s[4:5], -1, 0
261 ; SI-NEXT: s_cmp_eq_u32 s6, s7
262 ; SI-NEXT: s_cselect_b64 s[6:7], -1, 0
263 ; SI-NEXT: s_and_b64 s[4:5], s[4:5], s[6:7]
264 ; SI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
265 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
266 ; SI-NEXT: s_endpgm
292 ; SI-LABEL: v_sext_i1_to_i16_with_and:
293 ; SI: ; %bb.0:
294 ; SI-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0xb
295 ; SI-NEXT: s_load_dword s6, s[0:1], 0xd
296 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
297 ; SI-NEXT: s_mov_b32 s3, 0xf000
298 ; SI-NEXT: s_mov_b32 s2, -1
299 ; SI-NEXT: s_waitcnt lgkmcnt(0)
300 ; SI-NEXT: v_cmp_eq_u32_e32 vcc, s4, v0
301 ; SI-NEXT: s_cmp_eq_u32 s5, s6
302 ; SI-NEXT: s_cselect_b64 s[4:5], -1, 0
303 ; SI-NEXT: s_and_b64 s[4:5], vcc, s[4:5]
304 ; SI-NEXT: v_cndmask_b32_e64 v0, 0, -1, s[4:5]
305 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
306 ; SI-NEXT: s_endpgm
341 ; SI-LABEL: s_sext_v4i8_to_v4i32:
342 ; SI: ; %bb.0:
343 ; SI-NEXT: s_load_dword s4, s[0:1], 0xb
344 ; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9
345 ; SI-NEXT: s_mov_b32 s3, 0xf000
346 ; SI-NEXT: s_mov_b32 s2, -1
347 ; SI-NEXT: s_waitcnt lgkmcnt(0)
348 ; SI-NEXT: s_ashr_i32 s5, s4, 24
349 ; SI-NEXT: s_bfe_i32 s6, s4, 0x80010
350 ; SI-NEXT: s_bfe_i32 s7, s4, 0x80008
351 ; SI-NEXT: s_sext_i32_i8 s4, s4
352 ; SI-NEXT: v_mov_b32_e32 v0, s4
353 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
354 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
355 ; SI-NEXT: v_mov_b32_e32 v0, s7
356 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
357 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
358 ; SI-NEXT: v_mov_b32_e32 v0, s6
359 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
360 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
361 ; SI-NEXT: v_mov_b32_e32 v0, s5
362 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
363 ; SI-NEXT: s_waitcnt vmcnt(0)
364 ; SI-NEXT: s_endpgm
406 ; SI-LABEL: v_sext_v4i8_to_v4i32:
407 ; SI: ; %bb.0:
408 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
409 ; SI-NEXT: s_mov_b32 s7, 0xf000
410 ; SI-NEXT: s_mov_b32 s6, -1
411 ; SI-NEXT: s_mov_b32 s10, s6
412 ; SI-NEXT: s_mov_b32 s11, s7
413 ; SI-NEXT: s_waitcnt lgkmcnt(0)
414 ; SI-NEXT: s_mov_b32 s8, s2
415 ; SI-NEXT: s_mov_b32 s9, s3
416 ; SI-NEXT: buffer_load_dword v0, off, s[8:11], 0
417 ; SI-NEXT: s_mov_b32 s4, s0
418 ; SI-NEXT: s_mov_b32 s5, s1
419 ; SI-NEXT: s_waitcnt vmcnt(0)
420 ; SI-NEXT: v_ashrrev_i32_e32 v1, 24, v0
421 ; SI-NEXT: v_bfe_i32 v2, v0, 16, 8
422 ; SI-NEXT: v_bfe_i32 v3, v0, 8, 8
423 ; SI-NEXT: v_bfe_i32 v0, v0, 0, 8
424 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
425 ; SI-NEXT: s_waitcnt vmcnt(0)
426 ; SI-NEXT: buffer_store_dword v3, off, s[4:7], 0
427 ; SI-NEXT: s_waitcnt vmcnt(0)
428 ; SI-NEXT: buffer_store_dword v2, off, s[4:7], 0
429 ; SI-NEXT: s_waitcnt vmcnt(0)
430 ; SI-NEXT: buffer_store_dword v1, off, s[4:7], 0
431 ; SI-NEXT: s_waitcnt vmcnt(0)
432 ; SI-NEXT: s_endpgm
476 ; FIXME: s_bfe_i64, same on SI and VI
478 ; SI-LABEL: s_sext_v4i16_to_v4i32:
479 ; SI: ; %bb.0:
480 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
481 ; SI-NEXT: s_mov_b32 s7, 0xf000
482 ; SI-NEXT: s_mov_b32 s6, -1
483 ; SI-NEXT: s_waitcnt lgkmcnt(0)
484 ; SI-NEXT: s_mov_b32 s4, s0
485 ; SI-NEXT: s_mov_b32 s5, s1
486 ; SI-NEXT: s_ashr_i64 s[0:1], s[2:3], 48
487 ; SI-NEXT: s_ashr_i32 s1, s2, 16
488 ; SI-NEXT: s_sext_i32_i16 s2, s2
489 ; SI-NEXT: v_mov_b32_e32 v0, s2
490 ; SI-NEXT: s_sext_i32_i16 s3, s3
491 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
492 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
493 ; SI-NEXT: v_mov_b32_e32 v0, s1
494 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
495 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
496 ; SI-NEXT: v_mov_b32_e32 v0, s3
497 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
498 ; SI-NEXT: s_waitcnt vmcnt(0) expcnt(0)
499 ; SI-NEXT: v_mov_b32_e32 v0, s0
500 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
501 ; SI-NEXT: s_waitcnt vmcnt(0)
502 ; SI-NEXT: s_endpgm
543 ; SI-LABEL: v_sext_v4i16_to_v4i32:
544 ; SI: ; %bb.0:
545 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
546 ; SI-NEXT: s_mov_b32 s7, 0xf000
547 ; SI-NEXT: s_mov_b32 s6, -1
548 ; SI-NEXT: s_mov_b32 s10, s6
549 ; SI-NEXT: s_mov_b32 s11, s7
550 ; SI-NEXT: s_waitcnt lgkmcnt(0)
551 ; SI-NEXT: s_mov_b32 s8, s2
552 ; SI-NEXT: s_mov_b32 s9, s3
553 ; SI-NEXT: buffer_load_dwordx2 v[0:1], off, s[8:11], 0
554 ; SI-NEXT: s_mov_b32 s4, s0
555 ; SI-NEXT: s_mov_b32 s5, s1
556 ; SI-NEXT: s_waitcnt vmcnt(0)
557 ; SI-NEXT: v_ashr_i64 v[2:3], v[0:1], 48
558 ; SI-NEXT: v_ashrrev_i32_e32 v3, 16, v0
559 ; SI-NEXT: v_bfe_i32 v0, v0, 0, 16
560 ; SI-NEXT: v_bfe_i32 v1, v1, 0, 16
561 ; SI-NEXT: buffer_store_dword v0, off, s[4:7], 0
562 ; SI-NEXT: s_waitcnt vmcnt(0)
563 ; SI-NEXT: buffer_store_dword v3, off, s[4:7], 0
564 ; SI-NEXT: s_waitcnt vmcnt(0)
565 ; SI-NEXT: buffer_store_dword v1, off, s[4:7], 0
566 ; SI-NEXT: s_waitcnt vmcnt(0)
567 ; SI-NEXT: buffer_store_dword v2, off, s[4:7], 0
568 ; SI-NEXT: s_waitcnt vmcnt(0)
569 ; SI-NEXT: s_endpgm