Lines Matching refs:i16
14 declare <4 x i16> @llvm.aarch64.neon.smax.v4i16(<4 x i16>, <4 x i16>) nounwind readnone
15 declare <4 x i16> @llvm.aarch64.neon.umax.v4i16(<4 x i16>, <4 x i16>) nounwind readnone
23 declare <4 x i16> @llvm.aarch64.neon.smin.v4i16(<4 x i16>, <4 x i16>) nounwind readnone
24 declare <4 x i16> @llvm.aarch64.neon.umin.v4i16(<4 x i16>, <4 x i16>) nounwind readnone
26 declare <8 x i8> @llvm.aarch64.neon.sqshl.v8i8(<8 x i16>, <8 x i16>) nounwind readnone
27 declare <4 x i16> @llvm.aarch64.neon.sqshl.v4i16(<4 x i32>, <4 x i32>) nounwind readnone
30 declare <8 x i8> @llvm.aarch64.neon.sqshrun.v8i8(<8 x i16>, <8 x i16>) nounwind readnone
31 declare <4 x i16> @llvm.aarch64.neon.sqshrun.v4i16(<4 x i32>, <4 x i32>) nounwind readnone
66 define internal <4 x i16> @smear_4s(i16 %in) nounwind readnone alwaysinline {
67 %1 = insertelement <4 x i16> undef, i16 %in, i32 0
68 %2 = insertelement <4 x i16> %1, i16 %in, i32 1
69 %3 = insertelement <4 x i16> %2, i16 %in, i32 2
70 %4 = insertelement <4 x i16> %3, i16 %in, i32 3
71 ret <4 x i16> %4
88 define internal <2 x i16> @smear_2s(i16 %in) nounwind readnone alwaysinline {
89 %1 = insertelement <2 x i16> undef, i16 %in, i32 0
90 %2 = insertelement <2 x i16> %1, i16 %in, i32 1
91 ret <2 x i16> %2
399 define signext i16 @_Z3maxss(i16 signext %v1, i16 signext %v2) nounwind readnone {
400 %1 = icmp sgt i16 %v1, %v2
401 %2 = select i1 %1, i16 %v1, i16 %v2
402 ret i16 %2
405 define <2 x i16> @_Z3maxDv2_sS_(<2 x i16> %v1, <2 x i16> %v2) nounwind readnone {
406 %1 = sext <2 x i16> %v1 to <2 x i32>
407 %2 = sext <2 x i16> %v2 to <2 x i32>
409 %4 = trunc <2 x i32> %3 to <2 x i16>
410 ret <2 x i16> %4
413 define <3 x i16> @_Z3maxDv3_sS_(<3 x i16> %v1, <3 x i16> %v2) nounwind readnone {
414 %1 = sext <3 x i16> %v1 to <3 x i32>
415 %2 = sext <3 x i16> %v2 to <3 x i32>
420 %7 = trunc <3 x i32> %6 to <3 x i16>
421 ret <3 x i16> %7
424 define <4 x i16> @_Z3maxDv4_sS_(<4 x i16> %v1, <4 x i16> %v2) nounwind readnone {
425 %1 = sext <4 x i16> %v1 to <4 x i32>
426 %2 = sext <4 x i16> %v2 to <4 x i32>
428 %4 = trunc <4 x i32> %3 to <4 x i16>
429 ret <4 x i16> %4
497 define zeroext i16 @_Z3maxtt(i16 zeroext %v1, i16 zeroext %v2) nounwind readnone {
498 %1 = icmp ugt i16 %v1, %v2
499 %2 = select i1 %1, i16 %v1, i16 %v2
500 ret i16 %2
503 define <2 x i16> @_Z3maxDv2_tS_(<2 x i16> %v1, <2 x i16> %v2) nounwind readnone {
504 %1 = zext <2 x i16> %v1 to <2 x i32>
505 %2 = zext <2 x i16> %v2 to <2 x i32>
507 %4 = trunc <2 x i32> %3 to <2 x i16>
508 ret <2 x i16> %4
511 define <3 x i16> @_Z3maxDv3_tS_(<3 x i16> %v1, <3 x i16> %v2) nounwind readnone {
512 %1 = zext <3 x i16> %v1 to <3 x i32>
513 %2 = zext <3 x i16> %v2 to <3 x i32>
518 %7 = trunc <3 x i32> %6 to <3 x i16>
519 ret <3 x i16> %7
522 define <4 x i16> @_Z3maxDv4_tS_(<4 x i16> %v1, <4 x i16> %v2) nounwind readnone {
523 %1 = zext <4 x i16> %v1 to <4 x i32>
524 %2 = zext <4 x i16> %v2 to <4 x i32>
526 %4 = trunc <4 x i32> %3 to <4 x i16>
527 ret <4 x i16> %4
630 define signext i16 @_Z3minss(i16 signext %v1, i16 signext %v2) nounwind readnone {
631 %1 = icmp slt i16 %v1, %v2
632 %2 = select i1 %1, i16 %v1, i16 %v2
633 ret i16 %2
636 define <2 x i16> @_Z3minDv2_sS_(<2 x i16> %v1, <2 x i16> %v2) nounwind readnone {
637 %1 = sext <2 x i16> %v1 to <2 x i32>
638 %2 = sext <2 x i16> %v2 to <2 x i32>
640 %4 = trunc <2 x i32> %3 to <2 x i16>
641 ret <2 x i16> %4
644 define <3 x i16> @_Z3minDv3_sS_(<3 x i16> %v1, <3 x i16> %v2) nounwind readnone {
645 %1 = sext <3 x i16> %v1 to <3 x i32>
646 %2 = sext <3 x i16> %v2 to <3 x i32>
651 %7 = trunc <3 x i32> %6 to <3 x i16>
652 ret <3 x i16> %7
655 define <4 x i16> @_Z3minDv4_sS_(<4 x i16> %v1, <4 x i16> %v2) nounwind readnone {
656 %1 = sext <4 x i16> %v1 to <4 x i32>
657 %2 = sext <4 x i16> %v2 to <4 x i32>
659 %4 = trunc <4 x i32> %3 to <4 x i16>
660 ret <4 x i16> %4
728 define zeroext i16 @_Z3mintt(i16 zeroext %v1, i16 zeroext %v2) nounwind readnone {
729 %1 = icmp ult i16 %v1, %v2
730 %2 = select i1 %1, i16 %v1, i16 %v2
731 ret i16 %2
734 define <2 x i16> @_Z3minDv2_tS_(<2 x i16> %v1, <2 x i16> %v2) nounwind readnone {
735 %1 = zext <2 x i16> %v1 to <2 x i32>
736 %2 = zext <2 x i16> %v2 to <2 x i32>
738 %4 = trunc <2 x i32> %3 to <2 x i16>
739 ret <2 x i16> %4
742 define <3 x i16> @_Z3minDv3_tS_(<3 x i16> %v1, <3 x i16> %v2) nounwind readnone {
743 %1 = zext <3 x i16> %v1 to <3 x i32>
744 %2 = zext <3 x i16> %v2 to <3 x i32>
749 %7 = trunc <3 x i32> %6 to <3 x i16>
750 ret <3 x i16> %7
753 define <4 x i16> @_Z3minDv4_tS_(<4 x i16> %v1, <4 x i16> %v2) nounwind readnone {
754 %1 = zext <4 x i16> %v1 to <4 x i32>
755 %2 = zext <4 x i16> %v2 to <4 x i32>
757 %4 = trunc <4 x i32> %3 to <4 x i16>
758 ret <4 x i16> %4
854 …; %r1 = tail call <4 x i16> @llvm.aarch64.neon.sqshrun.v4i16(<4 x i32> %_y3, <4 x i32> <i32 8, i32…
855 ; %r2 = trunc <4 x i16> %r1 to <4 x i8>