Lines Matching refs:SI

2 ; RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s | FileCheck --check-prefixes=SI %s
7 ; SI-LABEL: v_omod_div2_f32_enable_ieee_signed_zeros:
8 ; SI: ; %bb.0:
9 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
10 ; SI-NEXT: s_mov_b32 s7, 0xf000
11 ; SI-NEXT: s_mov_b32 s6, 0
12 ; SI-NEXT: v_lshlrev_b32_e32 v0, 2, v0
13 ; SI-NEXT: v_mov_b32_e32 v1, 0
14 ; SI-NEXT: s_waitcnt lgkmcnt(0)
15 ; SI-NEXT: s_mov_b64 s[4:5], s[2:3]
16 ; SI-NEXT: buffer_load_dword v2, v[0:1], s[4:7], 0 addr64
17 ; SI-NEXT: s_mov_b64 s[2:3], s[6:7]
18 ; SI-NEXT: s_waitcnt vmcnt(0)
19 ; SI-NEXT: v_add_f32_e32 v2, 1.0, v2
20 ; SI-NEXT: v_mul_f32_e32 v2, 0.5, v2
21 ; SI-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
22 ; SI-NEXT: s_endpgm
53 ; SI-LABEL: v_omod_div2_f64_enable_ieee_signed_zeros:
54 ; SI: ; %bb.0:
55 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
56 ; SI-NEXT: s_mov_b32 s7, 0xf000
57 ; SI-NEXT: s_mov_b32 s6, 0
58 ; SI-NEXT: v_lshlrev_b32_e32 v0, 3, v0
59 ; SI-NEXT: v_mov_b32_e32 v1, 0
60 ; SI-NEXT: s_waitcnt lgkmcnt(0)
61 ; SI-NEXT: s_mov_b64 s[4:5], s[2:3]
62 ; SI-NEXT: buffer_load_dwordx2 v[2:3], v[0:1], s[4:7], 0 addr64
63 ; SI-NEXT: s_mov_b64 s[2:3], s[6:7]
64 ; SI-NEXT: s_waitcnt vmcnt(0)
65 ; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.0
66 ; SI-NEXT: v_mul_f64 v[2:3], v[2:3], 0.5
67 ; SI-NEXT: buffer_store_dwordx2 v[2:3], v[0:1], s[0:3], 0 addr64
68 ; SI-NEXT: s_endpgm
99 ; SI-LABEL: v_omod_div2_f32_enable_ieee_nsz:
100 ; SI: ; %bb.0:
101 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
102 ; SI-NEXT: s_mov_b32 s7, 0xf000
103 ; SI-NEXT: s_mov_b32 s6, 0
104 ; SI-NEXT: v_lshlrev_b32_e32 v0, 2, v0
105 ; SI-NEXT: v_mov_b32_e32 v1, 0
106 ; SI-NEXT: s_waitcnt lgkmcnt(0)
107 ; SI-NEXT: s_mov_b64 s[4:5], s[2:3]
108 ; SI-NEXT: buffer_load_dword v2, v[0:1], s[4:7], 0 addr64
109 ; SI-NEXT: s_mov_b64 s[2:3], s[6:7]
110 ; SI-NEXT: s_waitcnt vmcnt(0)
111 ; SI-NEXT: v_add_f32_e32 v2, 1.0, v2
112 ; SI-NEXT: v_mul_f32_e32 v2, 0.5, v2
113 ; SI-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
114 ; SI-NEXT: s_endpgm
145 ; SI-LABEL: v_omod_div2_f64_enable_ieee_nsz:
146 ; SI: ; %bb.0:
147 ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
148 ; SI-NEXT: s_mov_b32 s7, 0xf000
149 ; SI-NEXT: s_mov_b32 s6, 0
150 ; SI-NEXT: v_lshlrev_b32_e32 v0, 3, v0
151 ; SI-NEXT: v_mov_b32_e32 v1, 0
152 ; SI-NEXT: s_waitcnt lgkmcnt(0)
153 ; SI-NEXT: s_mov_b64 s[4:5], s[2:3]
154 ; SI-NEXT: buffer_load_dwordx2 v[2:3], v[0:1], s[4:7], 0 addr64
155 ; SI-NEXT: s_mov_b64 s[2:3], s[6:7]
156 ; SI-NEXT: s_waitcnt vmcnt(0)
157 ; SI-NEXT: v_add_f64 v[2:3], v[2:3], 1.0
158 ; SI-NEXT: v_mul_f64 v[2:3], v[2:3], 0.5
159 ; SI-NEXT: buffer_store_dwordx2 v[2:3], v[0:1], s[0:3], 0 addr64
160 ; SI-NEXT: s_endpgm
191 ; SI-LABEL: v_omod_div2_f32_signed_zeros:
192 ; SI: ; %bb.0:
193 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
194 ; SI-NEXT: v_mul_f32_e32 v0, 0.5, v0
195 ; SI-NEXT: s_mov_b32 s3, 0xf000
196 ; SI-NEXT: s_mov_b32 s2, -1
197 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
198 ; SI-NEXT: s_endpgm
214 ; SI-LABEL: v_omod_div2_f64_signed_zeros:
215 ; SI: ; %bb.0:
216 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
217 ; SI-NEXT: s_mov_b32 s3, 0xf000
218 ; SI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
219 ; SI-NEXT: s_mov_b32 s2, -1
220 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
221 ; SI-NEXT: s_endpgm
236 ; SI-LABEL: v_omod_div2_f32:
237 ; SI: ; %bb.0:
238 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
239 ; SI-NEXT: s_mov_b32 s3, 0xf000
240 ; SI-NEXT: s_mov_b32 s2, -1
241 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
242 ; SI-NEXT: s_endpgm
256 ; SI-LABEL: v_omod_div2_f64:
257 ; SI: ; %bb.0:
258 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 div:2
259 ; SI-NEXT: s_mov_b32 s3, 0xf000
260 ; SI-NEXT: s_mov_b32 s2, -1
261 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
262 ; SI-NEXT: s_endpgm
276 ; SI-LABEL: v_omod_mul2_f32:
277 ; SI: ; %bb.0:
278 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:2
279 ; SI-NEXT: s_mov_b32 s3, 0xf000
280 ; SI-NEXT: s_mov_b32 s2, -1
281 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
282 ; SI-NEXT: s_endpgm
296 ; SI-LABEL: v_omod_mul2_f64:
297 ; SI: ; %bb.0:
298 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 mul:2
299 ; SI-NEXT: s_mov_b32 s3, 0xf000
300 ; SI-NEXT: s_mov_b32 s2, -1
301 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
302 ; SI-NEXT: s_endpgm
316 ; SI-LABEL: v_omod_mul4_f32:
317 ; SI: ; %bb.0:
318 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:4
319 ; SI-NEXT: s_mov_b32 s3, 0xf000
320 ; SI-NEXT: s_mov_b32 s2, -1
321 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
322 ; SI-NEXT: s_endpgm
336 ; SI-LABEL: v_omod_mul4_f64:
337 ; SI: ; %bb.0:
338 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0 mul:4
339 ; SI-NEXT: s_mov_b32 s3, 0xf000
340 ; SI-NEXT: s_mov_b32 s2, -1
341 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
342 ; SI-NEXT: s_endpgm
356 ; SI-LABEL: v_omod_mul4_multi_use_f32:
357 ; SI: ; %bb.0:
358 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
359 ; SI-NEXT: v_mul_f32_e32 v1, 4.0, v0
360 ; SI-NEXT: s_mov_b32 s3, 0xf000
361 ; SI-NEXT: s_mov_b32 s2, -1
362 ; SI-NEXT: buffer_store_dword v1, off, s[0:3], 0
363 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
364 ; SI-NEXT: s_waitcnt vmcnt(0)
365 ; SI-NEXT: s_endpgm
383 ; SI-LABEL: v_omod_mul4_dbg_use_f32:
384 ; SI: ; %bb.0:
385 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:4
386 ; SI-NEXT: s_mov_b32 s3, 0xf000
387 ; SI-NEXT: s_mov_b32 s2, -1
388 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
389 ; SI-NEXT: s_endpgm
405 ; SI-LABEL: v_clamp_omod_div2_f32:
406 ; SI: ; %bb.0:
407 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 clamp div:2
408 ; SI-NEXT: s_mov_b32 s3, 0xf000
409 ; SI-NEXT: s_mov_b32 s2, -1
410 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
411 ; SI-NEXT: s_endpgm
429 ; SI-LABEL: v_omod_div2_clamp_f32:
430 ; SI: ; %bb.0:
431 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 clamp
432 ; SI-NEXT: v_mul_f32_e32 v0, 0.5, v0
433 ; SI-NEXT: s_mov_b32 s3, 0xf000
434 ; SI-NEXT: s_mov_b32 s2, -1
435 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
436 ; SI-NEXT: s_endpgm
453 ; SI-LABEL: v_omod_div2_abs_src_f32:
454 ; SI: ; %bb.0:
455 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
456 ; SI-NEXT: v_mul_f32_e64 v0, |v0|, 0.5
457 ; SI-NEXT: s_mov_b32 s3, 0xf000
458 ; SI-NEXT: s_mov_b32 s2, -1
459 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
460 ; SI-NEXT: s_endpgm
476 ; SI-LABEL: v_omod_add_self_clamp_f32:
477 ; SI: ; %bb.0:
478 ; SI-NEXT: v_add_f32_e64 v0, v0, v0 clamp
479 ; SI-NEXT: s_mov_b32 s3, 0xf000
480 ; SI-NEXT: s_mov_b32 s2, -1
481 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
482 ; SI-NEXT: s_endpgm
497 ; SI-LABEL: v_omod_add_clamp_self_f32:
498 ; SI: ; %bb.0:
499 ; SI-NEXT: v_max_f32_e64 v0, v0, v0 clamp
500 ; SI-NEXT: v_add_f32_e32 v0, v0, v0
501 ; SI-NEXT: s_mov_b32 s3, 0xf000
502 ; SI-NEXT: s_mov_b32 s2, -1
503 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
504 ; SI-NEXT: s_endpgm
520 ; SI-LABEL: v_omod_add_abs_self_f32:
521 ; SI: ; %bb.0:
522 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
523 ; SI-NEXT: v_add_f32_e64 v0, |v0|, |v0|
524 ; SI-NEXT: s_mov_b32 s3, 0xf000
525 ; SI-NEXT: s_mov_b32 s2, -1
526 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
527 ; SI-NEXT: s_endpgm
543 ; SI-LABEL: v_omod_add_abs_x_x_f32:
544 ; SI: ; %bb.0:
545 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
546 ; SI-NEXT: v_add_f32_e64 v0, |v0|, v0
547 ; SI-NEXT: s_mov_b32 s3, 0xf000
548 ; SI-NEXT: s_mov_b32 s2, -1
549 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
550 ; SI-NEXT: s_endpgm
566 ; SI-LABEL: v_omod_add_x_abs_x_f32:
567 ; SI: ; %bb.0:
568 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
569 ; SI-NEXT: v_add_f32_e64 v0, v0, |v0|
570 ; SI-NEXT: s_mov_b32 s3, 0xf000
571 ; SI-NEXT: s_mov_b32 s2, -1
572 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
573 ; SI-NEXT: s_endpgm
590 ; SI-LABEL: v_omod_div2_omod_div2_f32:
591 ; SI: ; %bb.0:
592 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
593 ; SI-NEXT: v_mul_f32_e32 v0, 0.5, v0
594 ; SI-NEXT: s_mov_b32 s3, 0xf000
595 ; SI-NEXT: s_mov_b32 s2, -1
596 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
597 ; SI-NEXT: s_endpgm
614 ; SI-LABEL: v_omod_div2_f32_denormals:
615 ; SI: ; %bb.0:
616 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
617 ; SI-NEXT: v_mul_f32_e32 v0, 0.5, v0
618 ; SI-NEXT: s_mov_b32 s3, 0xf000
619 ; SI-NEXT: s_mov_b32 s2, -1
620 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
621 ; SI-NEXT: s_endpgm
637 ; SI-LABEL: v_omod_div2_f64_denormals:
638 ; SI: ; %bb.0:
639 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
640 ; SI-NEXT: s_mov_b32 s3, 0xf000
641 ; SI-NEXT: v_mul_f64 v[0:1], v[0:1], 0.5
642 ; SI-NEXT: s_mov_b32 s2, -1
643 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
644 ; SI-NEXT: s_endpgm
660 ; SI-LABEL: v_omod_mul2_f32_denormals:
661 ; SI: ; %bb.0:
662 ; SI-NEXT: v_add_f32_e32 v0, 1.0, v0
663 ; SI-NEXT: v_add_f32_e32 v0, v0, v0
664 ; SI-NEXT: s_mov_b32 s3, 0xf000
665 ; SI-NEXT: s_mov_b32 s2, -1
666 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
667 ; SI-NEXT: s_endpgm
683 ; SI-LABEL: v_omod_mul2_f64_denormals:
684 ; SI: ; %bb.0:
685 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], 1.0
686 ; SI-NEXT: s_mov_b32 s3, 0xf000
687 ; SI-NEXT: v_add_f64 v[0:1], v[0:1], v[0:1]
688 ; SI-NEXT: s_mov_b32 s2, -1
689 ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0
690 ; SI-NEXT: s_endpgm
706 ; SI-LABEL: v_omod_div2_f16_denormals:
707 ; SI: ; %bb.0:
708 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
709 ; SI-NEXT: s_mov_b32 s3, 0xf000
710 ; SI-NEXT: s_mov_b32 s2, -1
711 ; SI-NEXT: v_cvt_f32_f16_e32 v0, v0
712 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
713 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
714 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
715 ; SI-NEXT: s_endpgm
731 ; SI-LABEL: v_omod_mul2_f16_denormals:
732 ; SI: ; %bb.0:
733 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
734 ; SI-NEXT: s_mov_b32 s3, 0xf000
735 ; SI-NEXT: s_mov_b32 s2, -1
736 ; SI-NEXT: v_cvt_f32_f16_e32 v0, v0
737 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 mul:2
738 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
739 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
740 ; SI-NEXT: s_endpgm
755 ; SI-LABEL: v_omod_div2_f16_no_denormals:
756 ; SI: ; %bb.0:
757 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
758 ; SI-NEXT: s_mov_b32 s3, 0xf000
759 ; SI-NEXT: s_mov_b32 s2, -1
760 ; SI-NEXT: v_cvt_f32_f16_e32 v0, v0
761 ; SI-NEXT: v_add_f32_e64 v0, v0, 1.0 div:2
762 ; SI-NEXT: v_cvt_f16_f32_e32 v0, v0
763 ; SI-NEXT: buffer_store_short v0, off, s[0:3], 0
764 ; SI-NEXT: s_endpgm
778 ; SI-LABEL: v_omod_mac_to_mad:
779 ; SI: ; %bb.0:
780 ; SI-NEXT: v_mad_f32 v1, v1, v1, v0 mul:2
781 ; SI-NEXT: v_mul_f32_e32 v0, v1, v0
782 ; SI-NEXT: s_mov_b32 s3, 0xf000
783 ; SI-NEXT: s_mov_b32 s2, -1
784 ; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0
785 ; SI-NEXT: s_endpgm