Lines Matching refs:VI
3 …le=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -enable-var-scope --check-prefix=VI %s
22 ; VI-LABEL: widen_i16_constant_load:
23 ; VI: ; %bb.0:
24 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
25 ; VI-NEXT: v_mov_b32_e32 v0, 0
26 ; VI-NEXT: v_mov_b32_e32 v1, 0
27 ; VI-NEXT: s_waitcnt lgkmcnt(0)
28 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
29 ; VI-NEXT: s_waitcnt lgkmcnt(0)
30 ; VI-NEXT: s_addk_i32 s0, 0x3e7
31 ; VI-NEXT: s_or_b32 s0, s0, 4
32 ; VI-NEXT: v_mov_b32_e32 v2, s0
33 ; VI-NEXT: flat_store_short v[0:1], v2
34 ; VI-NEXT: s_endpgm
60 ; VI-LABEL: widen_i16_constant_load_zext_i32:
61 ; VI: ; %bb.0:
62 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
63 ; VI-NEXT: v_mov_b32_e32 v0, 0
64 ; VI-NEXT: v_mov_b32_e32 v1, 0
65 ; VI-NEXT: s_waitcnt lgkmcnt(0)
66 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
67 ; VI-NEXT: s_waitcnt lgkmcnt(0)
68 ; VI-NEXT: s_and_b32 s0, s0, 0xffff
69 ; VI-NEXT: s_addk_i32 s0, 0x3e7
70 ; VI-NEXT: s_or_b32 s0, s0, 4
71 ; VI-NEXT: v_mov_b32_e32 v2, s0
72 ; VI-NEXT: flat_store_dword v[0:1], v2
73 ; VI-NEXT: s_endpgm
100 ; VI-LABEL: widen_i16_constant_load_sext_i32:
101 ; VI: ; %bb.0:
102 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
103 ; VI-NEXT: v_mov_b32_e32 v0, 0
104 ; VI-NEXT: v_mov_b32_e32 v1, 0
105 ; VI-NEXT: s_waitcnt lgkmcnt(0)
106 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
107 ; VI-NEXT: s_waitcnt lgkmcnt(0)
108 ; VI-NEXT: s_sext_i32_i16 s0, s0
109 ; VI-NEXT: s_addk_i32 s0, 0x3e7
110 ; VI-NEXT: s_or_b32 s0, s0, 4
111 ; VI-NEXT: v_mov_b32_e32 v2, s0
112 ; VI-NEXT: flat_store_dword v[0:1], v2
113 ; VI-NEXT: s_endpgm
147 ; VI-LABEL: widen_i17_constant_load:
148 ; VI: ; %bb.0:
149 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
150 ; VI-NEXT: v_mov_b32_e32 v0, 0
151 ; VI-NEXT: v_mov_b32_e32 v1, 0
152 ; VI-NEXT: v_mov_b32_e32 v2, 2
153 ; VI-NEXT: v_mov_b32_e32 v3, 0
154 ; VI-NEXT: s_waitcnt lgkmcnt(0)
155 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
156 ; VI-NEXT: s_waitcnt lgkmcnt(0)
157 ; VI-NEXT: s_add_i32 s0, s0, 34
158 ; VI-NEXT: s_or_b32 s0, s0, 4
159 ; VI-NEXT: v_mov_b32_e32 v4, s0
160 ; VI-NEXT: s_bfe_u32 s0, s0, 0x10010
161 ; VI-NEXT: flat_store_short v[0:1], v4
162 ; VI-NEXT: v_mov_b32_e32 v0, s0
163 ; VI-NEXT: flat_store_byte v[2:3], v0
164 ; VI-NEXT: s_endpgm
189 ; VI-LABEL: widen_f16_constant_load:
190 ; VI: ; %bb.0:
191 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
192 ; VI-NEXT: v_mov_b32_e32 v0, 0
193 ; VI-NEXT: v_mov_b32_e32 v1, 0
194 ; VI-NEXT: s_waitcnt lgkmcnt(0)
195 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
196 ; VI-NEXT: s_waitcnt lgkmcnt(0)
197 ; VI-NEXT: v_add_f16_e64 v2, s0, 4.0
198 ; VI-NEXT: flat_store_short v[0:1], v2
199 ; VI-NEXT: s_endpgm
206 ; FIXME: valu usage on VI
229 ; VI-LABEL: widen_v2i8_constant_load:
230 ; VI: ; %bb.0:
231 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
232 ; VI-NEXT: v_mov_b32_e32 v0, 44
233 ; VI-NEXT: v_mov_b32_e32 v1, 3
234 ; VI-NEXT: s_waitcnt lgkmcnt(0)
235 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
236 ; VI-NEXT: s_waitcnt lgkmcnt(0)
237 ; VI-NEXT: s_and_b32 s1, s0, 0xffff
238 ; VI-NEXT: v_mov_b32_e32 v2, s0
239 ; VI-NEXT: s_add_i32 s1, s1, 12
240 ; VI-NEXT: v_add_u32_sdwa v0, vcc, v0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src…
241 ; VI-NEXT: s_or_b32 s0, s1, 4
242 ; VI-NEXT: v_or_b32_sdwa v2, v0, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel…
243 ; VI-NEXT: v_mov_b32_e32 v3, s0
244 ; VI-NEXT: v_mov_b32_e32 v0, 0
245 ; VI-NEXT: v_mov_b32_e32 v1, 0
246 ; VI-NEXT: v_or_b32_sdwa v2, v3, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel…
247 ; VI-NEXT: flat_store_short v[0:1], v2
248 ; VI-NEXT: s_endpgm
276 ; VI-LABEL: no_widen_i16_constant_divergent_load:
277 ; VI: ; %bb.0:
278 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
279 ; VI-NEXT: v_lshlrev_b32_e32 v0, 1, v0
280 ; VI-NEXT: s_waitcnt lgkmcnt(0)
281 ; VI-NEXT: v_mov_b32_e32 v1, s1
282 ; VI-NEXT: v_add_u32_e32 v0, vcc, s0, v0
283 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
284 ; VI-NEXT: flat_load_ushort v0, v[0:1]
285 ; VI-NEXT: s_waitcnt vmcnt(0)
286 ; VI-NEXT: v_add_u16_e32 v2, 0x3e7, v0
287 ; VI-NEXT: v_mov_b32_e32 v0, 0
288 ; VI-NEXT: v_mov_b32_e32 v1, 0
289 ; VI-NEXT: v_or_b32_e32 v2, 4, v2
290 ; VI-NEXT: flat_store_short v[0:1], v2
291 ; VI-NEXT: s_endpgm
318 ; VI-LABEL: widen_i1_constant_load:
319 ; VI: ; %bb.0:
320 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
321 ; VI-NEXT: v_mov_b32_e32 v0, 0
322 ; VI-NEXT: v_mov_b32_e32 v1, 0
323 ; VI-NEXT: s_waitcnt lgkmcnt(0)
324 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
325 ; VI-NEXT: s_waitcnt lgkmcnt(0)
326 ; VI-NEXT: s_and_b32 s0, s0, 1
327 ; VI-NEXT: v_mov_b32_e32 v2, s0
328 ; VI-NEXT: flat_store_byte v[0:1], v2
329 ; VI-NEXT: s_endpgm
354 ; VI-LABEL: widen_i16_zextload_i64_constant_load:
355 ; VI: ; %bb.0:
356 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
357 ; VI-NEXT: v_mov_b32_e32 v0, 0
358 ; VI-NEXT: v_mov_b32_e32 v1, 0
359 ; VI-NEXT: s_waitcnt lgkmcnt(0)
360 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
361 ; VI-NEXT: s_waitcnt lgkmcnt(0)
362 ; VI-NEXT: s_and_b32 s0, s0, 0xffff
363 ; VI-NEXT: s_addk_i32 s0, 0x3e7
364 ; VI-NEXT: s_or_b32 s0, s0, 4
365 ; VI-NEXT: v_mov_b32_e32 v2, s0
366 ; VI-NEXT: flat_store_dword v[0:1], v2
367 ; VI-NEXT: s_endpgm
395 ; VI-LABEL: widen_i1_zext_to_i64_constant_load:
396 ; VI: ; %bb.0:
397 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
398 ; VI-NEXT: v_mov_b32_e32 v0, 0
399 ; VI-NEXT: v_mov_b32_e32 v1, 0
400 ; VI-NEXT: s_waitcnt lgkmcnt(0)
401 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
402 ; VI-NEXT: s_waitcnt lgkmcnt(0)
403 ; VI-NEXT: s_and_b32 s0, s0, 1
404 ; VI-NEXT: s_add_u32 s0, s0, 0x3e7
405 ; VI-NEXT: s_addc_u32 s1, 0, 0
406 ; VI-NEXT: v_mov_b32_e32 v3, s1
407 ; VI-NEXT: v_mov_b32_e32 v2, s0
408 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[2:3]
409 ; VI-NEXT: s_endpgm
434 ; VI-LABEL: widen_i16_constant32_load:
435 ; VI: ; %bb.0:
436 ; VI-NEXT: s_load_dword s0, s[0:1], 0x24
437 ; VI-NEXT: s_mov_b32 s1, 0
438 ; VI-NEXT: v_mov_b32_e32 v0, 0
439 ; VI-NEXT: v_mov_b32_e32 v1, 0
440 ; VI-NEXT: s_waitcnt lgkmcnt(0)
441 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
442 ; VI-NEXT: s_waitcnt lgkmcnt(0)
443 ; VI-NEXT: s_addk_i32 s0, 0x3e7
444 ; VI-NEXT: s_or_b32 s0, s0, 4
445 ; VI-NEXT: v_mov_b32_e32 v2, s0
446 ; VI-NEXT: flat_store_short v[0:1], v2
447 ; VI-NEXT: s_endpgm
472 ; VI-LABEL: widen_i16_global_invariant_load:
473 ; VI: ; %bb.0:
474 ; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24
475 ; VI-NEXT: v_mov_b32_e32 v0, 0
476 ; VI-NEXT: v_mov_b32_e32 v1, 0
477 ; VI-NEXT: s_waitcnt lgkmcnt(0)
478 ; VI-NEXT: s_load_dword s0, s[0:1], 0x0
479 ; VI-NEXT: s_waitcnt lgkmcnt(0)
480 ; VI-NEXT: s_addk_i32 s0, 0x3e7
481 ; VI-NEXT: s_or_b32 s0, s0, 1
482 ; VI-NEXT: v_mov_b32_e32 v2, s0
483 ; VI-NEXT: flat_store_short v[0:1], v2
484 ; VI-NEXT: s_endpgm