Lines Matching refs:VI
3 ; RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs < %s | FileCheck --check-prefixes=VI %s
24 ; VI-LABEL: v_omod_div2_f32_enable_ieee_signed_zeros:
25 ; VI: ; %bb.0:
26 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
27 ; VI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
28 ; VI-NEXT: s_waitcnt lgkmcnt(0)
29 ; VI-NEXT: v_mov_b32_e32 v1, s3
30 ; VI-NEXT: v_add_u32_e32 v0, vcc, s2, v2
31 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
32 ; VI-NEXT: flat_load_dword v3, v[0:1]
33 ; VI-NEXT: v_mov_b32_e32 v1, s1
34 ; VI-NEXT: v_add_u32_e32 v0, vcc, s0, v2
35 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
36 ; VI-NEXT: s_waitcnt vmcnt(0)
37 ; VI-NEXT: v_add_f32_e32 v2, 1.0, v3
38 ; VI-NEXT: v_mul_f32_e32 v2, 0.5, v2
39 ; VI-NEXT: flat_store_dword v[0:1], v2
40 ; VI-NEXT: s_endpgm
70 ; VI-LABEL: v_omod_div2_f64_enable_ieee_signed_zeros:
71 ; VI: ; %bb.0:
72 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
73 ; VI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
74 ; VI-NEXT: s_waitcnt lgkmcnt(0)
75 ; VI-NEXT: v_mov_b32_e32 v1, s3
76 ; VI-NEXT: v_add_u32_e32 v0, vcc, s2, v2
77 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
78 ; VI-NEXT: flat_load_dwordx2 v[0:1], v[0:1]
79 ; VI-NEXT: v_mov_b32_e32 v3, s1
80 ; VI-NEXT: v_add_u32_e32 v2, vcc, s0, v2
81 ; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc
82 ; VI-NEXT: s_waitcnt vmcnt(0)
83 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
84 ; VI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
85 ; VI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
86 ; VI-NEXT: s_endpgm
116 ; VI-LABEL: v_omod_div2_f32_enable_ieee_nsz:
117 ; VI: ; %bb.0:
118 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
119 ; VI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
120 ; VI-NEXT: s_waitcnt lgkmcnt(0)
121 ; VI-NEXT: v_mov_b32_e32 v1, s3
122 ; VI-NEXT: v_add_u32_e32 v0, vcc, s2, v2
123 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
124 ; VI-NEXT: flat_load_dword v3, v[0:1]
125 ; VI-NEXT: v_mov_b32_e32 v1, s1
126 ; VI-NEXT: v_add_u32_e32 v0, vcc, s0, v2
127 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
128 ; VI-NEXT: s_waitcnt vmcnt(0)
129 ; VI-NEXT: v_add_f32_e32 v2, 1.0, v3
130 ; VI-NEXT: v_mul_f32_e32 v2, 0.5, v2
131 ; VI-NEXT: flat_store_dword v[0:1], v2
132 ; VI-NEXT: s_endpgm
162 ; VI-LABEL: v_omod_div2_f64_enable_ieee_nsz:
163 ; VI: ; %bb.0:
164 ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24
165 ; VI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
166 ; VI-NEXT: s_waitcnt lgkmcnt(0)
167 ; VI-NEXT: v_mov_b32_e32 v1, s3
168 ; VI-NEXT: v_add_u32_e32 v0, vcc, s2, v2
169 ; VI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
170 ; VI-NEXT: flat_load_dwordx2 v[0:1], v[0:1]
171 ; VI-NEXT: v_mov_b32_e32 v3, s1
172 ; VI-NEXT: v_add_u32_e32 v2, vcc, s0, v2
173 ; VI-NEXT: v_addc_u32_e32 v3, vcc, 0, v3, vcc
174 ; VI-NEXT: s_waitcnt vmcnt(0)
175 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
176 ; VI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
177 ; VI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
178 ; VI-NEXT: s_endpgm
200 ; VI-LABEL: v_omod_div2_f32_signed_zeros:
201 ; VI: ; %bb.0:
202 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
203 ; VI-NEXT: v_mul_f32_e32 v0, 0.5, v0
204 ; VI-NEXT: flat_store_dword v[0:1], v0
205 ; VI-NEXT: s_endpgm
223 ; VI-LABEL: v_omod_div2_f64_signed_zeros:
224 ; VI: ; %bb.0:
225 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
226 ; VI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
227 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
228 ; VI-NEXT: s_endpgm
244 ; VI-LABEL: v_omod_div2_f32:
245 ; VI: ; %bb.0:
246 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
247 ; VI-NEXT: flat_store_dword v[0:1], v0
248 ; VI-NEXT: s_endpgm
264 ; VI-LABEL: v_omod_div2_f64:
265 ; VI: ; %bb.0:
266 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 div:2
267 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
268 ; VI-NEXT: s_endpgm
284 ; VI-LABEL: v_omod_mul2_f32:
285 ; VI: ; %bb.0:
286 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:2
287 ; VI-NEXT: flat_store_dword v[0:1], v0
288 ; VI-NEXT: s_endpgm
304 ; VI-LABEL: v_omod_mul2_f64:
305 ; VI: ; %bb.0:
306 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 mul:2
307 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
308 ; VI-NEXT: s_endpgm
324 ; VI-LABEL: v_omod_mul4_f32:
325 ; VI: ; %bb.0:
326 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:4
327 ; VI-NEXT: flat_store_dword v[0:1], v0
328 ; VI-NEXT: s_endpgm
344 ; VI-LABEL: v_omod_mul4_f64:
345 ; VI: ; %bb.0:
346 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 mul:4
347 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
348 ; VI-NEXT: s_endpgm
367 ; VI-LABEL: v_omod_mul4_multi_use_f32:
368 ; VI: ; %bb.0:
369 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
370 ; VI-NEXT: v_mul_f32_e32 v1, 4.0, v0
371 ; VI-NEXT: flat_store_dword v[0:1], v1
372 ; VI-NEXT: flat_store_dword v[0:1], v0
373 ; VI-NEXT: s_waitcnt vmcnt(0)
374 ; VI-NEXT: s_endpgm
391 ; VI-LABEL: v_omod_mul4_dbg_use_f32:
392 ; VI: ; %bb.0:
393 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:4
394 ; VI-NEXT: flat_store_dword v[0:1], v0
395 ; VI-NEXT: s_endpgm
413 ; VI-LABEL: v_clamp_omod_div2_f32:
414 ; VI: ; %bb.0:
415 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 clamp div:2
416 ; VI-NEXT: flat_store_dword v[0:1], v0
417 ; VI-NEXT: s_endpgm
438 ; VI-LABEL: v_omod_div2_clamp_f32:
439 ; VI: ; %bb.0:
440 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 clamp
441 ; VI-NEXT: v_mul_f32_e32 v0, 0.5, v0
442 ; VI-NEXT: flat_store_dword v[0:1], v0
443 ; VI-NEXT: s_endpgm
462 ; VI-LABEL: v_omod_div2_abs_src_f32:
463 ; VI: ; %bb.0:
464 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
465 ; VI-NEXT: v_mul_f32_e64 v0, |v0|, 0.5
466 ; VI-NEXT: flat_store_dword v[0:1], v0
467 ; VI-NEXT: s_endpgm
484 ; VI-LABEL: v_omod_add_self_clamp_f32:
485 ; VI: ; %bb.0:
486 ; VI-NEXT: v_add_f32_e64 v0, v0, v0 clamp
487 ; VI-NEXT: flat_store_dword v[0:1], v0
488 ; VI-NEXT: s_endpgm
506 ; VI-LABEL: v_omod_add_clamp_self_f32:
507 ; VI: ; %bb.0:
508 ; VI-NEXT: v_max_f32_e64 v0, v0, v0 clamp
509 ; VI-NEXT: v_add_f32_e32 v0, v0, v0
510 ; VI-NEXT: flat_store_dword v[0:1], v0
511 ; VI-NEXT: s_endpgm
529 ; VI-LABEL: v_omod_add_abs_self_f32:
530 ; VI: ; %bb.0:
531 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
532 ; VI-NEXT: v_add_f32_e64 v0, |v0|, |v0|
533 ; VI-NEXT: flat_store_dword v[0:1], v0
534 ; VI-NEXT: s_endpgm
552 ; VI-LABEL: v_omod_add_abs_x_x_f32:
553 ; VI: ; %bb.0:
554 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
555 ; VI-NEXT: v_add_f32_e64 v0, |v0|, v0
556 ; VI-NEXT: flat_store_dword v[0:1], v0
557 ; VI-NEXT: s_endpgm
575 ; VI-LABEL: v_omod_add_x_abs_x_f32:
576 ; VI: ; %bb.0:
577 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
578 ; VI-NEXT: v_add_f32_e64 v0, v0, |v0|
579 ; VI-NEXT: flat_store_dword v[0:1], v0
580 ; VI-NEXT: s_endpgm
599 ; VI-LABEL: v_omod_div2_omod_div2_f32:
600 ; VI: ; %bb.0:
601 ; VI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
602 ; VI-NEXT: v_mul_f32_e32 v0, 0.5, v0
603 ; VI-NEXT: flat_store_dword v[0:1], v0
604 ; VI-NEXT: s_endpgm
623 ; VI-LABEL: v_omod_div2_f32_denormals:
624 ; VI: ; %bb.0:
625 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
626 ; VI-NEXT: v_mul_f32_e32 v0, 0.5, v0
627 ; VI-NEXT: flat_store_dword v[0:1], v0
628 ; VI-NEXT: s_endpgm
646 ; VI-LABEL: v_omod_div2_f64_denormals:
647 ; VI: ; %bb.0:
648 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
649 ; VI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
650 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
651 ; VI-NEXT: s_endpgm
669 ; VI-LABEL: v_omod_mul2_f32_denormals:
670 ; VI: ; %bb.0:
671 ; VI-NEXT: v_add_f32_e32 v0, 1.0, v0
672 ; VI-NEXT: v_add_f32_e32 v0, v0, v0
673 ; VI-NEXT: flat_store_dword v[0:1], v0
674 ; VI-NEXT: s_endpgm
692 ; VI-LABEL: v_omod_mul2_f64_denormals:
693 ; VI: ; %bb.0:
694 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
695 ; VI-NEXT: v_add_f64 v[0:1], v[0:1], v[0:1]
696 ; VI-NEXT: flat_store_dwordx2 v[0:1], v[0:1]
697 ; VI-NEXT: s_endpgm
717 ; VI-LABEL: v_omod_div2_f16_denormals:
718 ; VI: ; %bb.0:
719 ; VI-NEXT: v_add_f16_e32 v0, 1.0, v0
720 ; VI-NEXT: v_mul_f16_e32 v0, 0.5, v0
721 ; VI-NEXT: flat_store_short v[0:1], v0
722 ; VI-NEXT: s_endpgm
742 ; VI-LABEL: v_omod_mul2_f16_denormals:
743 ; VI: ; %bb.0:
744 ; VI-NEXT: v_add_f16_e32 v0, 1.0, v0
745 ; VI-NEXT: v_add_f16_e32 v0, v0, v0
746 ; VI-NEXT: flat_store_short v[0:1], v0
747 ; VI-NEXT: s_endpgm
766 ; VI-LABEL: v_omod_div2_f16_no_denormals:
767 ; VI: ; %bb.0:
768 ; VI-NEXT: v_add_f16_e64 v0, v0, 1.0 div:2
769 ; VI-NEXT: flat_store_short v[0:1], v0
770 ; VI-NEXT: s_endpgm
787 ; VI-LABEL: v_omod_mac_to_mad:
788 ; VI: ; %bb.0:
789 ; VI-NEXT: v_mad_f32 v1, v1, v1, v0 mul:2
790 ; VI-NEXT: v_mul_f32_e32 v0, v1, v0
791 ; VI-NEXT: flat_store_dword v[0:1], v0
792 ; VI-NEXT: s_endpgm