Lines Matching refs:i9
517 declare i9 @llvm.fshr.i9(i9, i9, i9)
529 define i9 @fshr_no_shift(i9 %x, i9 %y) {
531 ; CHECK-NEXT: ret i9 [[Y:%.*]]
533 %z = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 0)
534 ret i9 %z
545 define i9 @fshr_no_shift_modulo_bitwidth(i9 %x, i9 %y) {
547 ; CHECK-NEXT: ret i9 [[Y:%.*]]
549 %z = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 189)
550 ret i9 %z
625 define i9 @fshr_zero_shift_guard(i9 %x, i9 %y, i9 %sh) {
627 ; CHECK-NEXT: [[C:%.*]] = icmp eq i9 [[SH:%.*]], 0
628 ; CHECK-NEXT: [[F:%.*]] = call i9 @llvm.fshr.i9(i9 [[X:%.*]], i9 [[Y:%.*]], i9 [[SH]])
629 ; CHECK-NEXT: [[S:%.*]] = select i1 [[C]], i9 [[Y]], i9 [[F]]
630 ; CHECK-NEXT: ret i9 [[S]]
632 %c = icmp eq i9 %sh, 0
633 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 %sh)
634 %s = select i1 %c, i9 %y, i9 %f
635 ret i9 %s
640 define i9 @fshr_zero_shift_guard_swapped(i9 %x, i9 %y, i9 %sh) {
642 ; CHECK-NEXT: [[C:%.*]] = icmp ne i9 [[SH:%.*]], 0
643 ; CHECK-NEXT: [[F:%.*]] = call i9 @llvm.fshr.i9(i9 [[X:%.*]], i9 [[Y:%.*]], i9 [[SH]])
644 ; CHECK-NEXT: [[S:%.*]] = select i1 [[C]], i9 [[F]], i9 [[Y]]
645 ; CHECK-NEXT: ret i9 [[S]]
647 %c = icmp ne i9 %sh, 0
648 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 %sh)
649 %s = select i1 %c, i9 %f, i9 %y
650 ret i9 %s
655 define i9 @fshr_zero_shift_guard_inverted(i9 %x, i9 %y, i9 %sh) {
657 ; CHECK-NEXT: ret i9 [[Y:%.*]]
659 %c = icmp eq i9 %sh, 0
660 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 %sh)
661 %s = select i1 %c, i9 %f, i9 %y
662 ret i9 %s
667 define i9 @fshr_zero_shift_guard_inverted_swapped(i9 %x, i9 %y, i9 %sh) {
669 ; CHECK-NEXT: ret i9 [[Y:%.*]]
671 %c = icmp ne i9 %sh, 0
672 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 %sh)
673 %s = select i1 %c, i9 %y, i9 %f
674 ret i9 %s
729 define i9 @rotr_zero_shift_guard(i9 %x, i9 %sh) {
731 ; CHECK-NEXT: [[F:%.*]] = call i9 @llvm.fshr.i9(i9 [[X:%.*]], i9 [[X]], i9 [[SH:%.*]])
732 ; CHECK-NEXT: ret i9 [[F]]
734 %c = icmp eq i9 %sh, 0
735 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %x, i9 %sh)
736 %s = select i1 %c, i9 %x, i9 %f
737 ret i9 %s
742 define i9 @rotr_zero_shift_guard_swapped(i9 %x, i9 %sh) {
744 ; CHECK-NEXT: [[F:%.*]] = call i9 @llvm.fshr.i9(i9 [[X:%.*]], i9 [[X]], i9 [[SH:%.*]])
745 ; CHECK-NEXT: ret i9 [[F]]
747 %c = icmp ne i9 %sh, 0
748 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %x, i9 %sh)
749 %s = select i1 %c, i9 %f, i9 %x
750 ret i9 %s
755 define i9 @rotr_zero_shift_guard_inverted(i9 %x, i9 %sh) {
757 ; CHECK-NEXT: ret i9 [[X:%.*]]
759 %c = icmp eq i9 %sh, 0
760 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %x, i9 %sh)
761 %s = select i1 %c, i9 %f, i9 %x
762 ret i9 %s
767 define i9 @rotr_zero_shift_guard_inverted_swapped(i9 %x, i9 %sh) {
769 ; CHECK-NEXT: ret i9 [[X:%.*]]
771 %c = icmp ne i9 %sh, 0
772 %f = call i9 @llvm.fshr.i9(i9 %x, i9 %x, i9 %sh)
773 %s = select i1 %c, i9 %x, i9 %f
774 ret i9 %s
815 define i9 @fshr_ops_undef(i9 %shamt) {
817 ; CHECK-NEXT: ret i9 undef
819 %r = call i9 @llvm.fshr.i9(i9 undef, i9 undef, i9 %shamt)
820 ret i9 %r
833 define i9 @fshr_shift_undef(i9 %x, i9 %y) {
835 ; CHECK-NEXT: ret i9 [[Y:%.*]]
837 %r = call i9 @llvm.fshr.i9(i9 %x, i9 %y, i9 undef)
838 ret i9 %r
893 define i9 @fshr_ops_poison(i9 %b, i9 %shamt) {
895 ; CHECK-NEXT: [[R:%.*]] = call i9 @llvm.fshr.i9(i9 poison, i9 [[B:%.*]], i9 [[SHAMT:%.*]])
896 ; CHECK-NEXT: ret i9 [[R]]
898 %r = call i9 @llvm.fshr.i9(i9 poison, i9 %b, i9 %shamt)
899 ret i9 %r
902 define i9 @fshr_ops_poison2(i9 %shamt) {
904 ; CHECK-NEXT: ret i9 undef
906 %r = call i9 @llvm.fshr.i9(i9 poison, i9 undef, i9 %shamt)
907 ret i9 %r
910 define i9 @fshr_ops_poison3(i9 %a, i9 %shamt) {
912 ; CHECK-NEXT: [[R:%.*]] = call i9 @llvm.fshr.i9(i9 [[A:%.*]], i9 poison, i9 [[SHAMT:%.*]])
913 ; CHECK-NEXT: ret i9 [[R]]
915 %r = call i9 @llvm.fshr.i9(i9 %a, i9 poison, i9 %shamt)
916 ret i9 %r
919 define i9 @fshr_ops_poison4(i9 %shamt) {
921 ; CHECK-NEXT: ret i9 undef
923 %r = call i9 @llvm.fshr.i9(i9 undef, i9 poison, i9 %shamt)
924 ret i9 %r
927 define i9 @fshr_ops_poison5(i9 %a, i9 %b) {
929 ; CHECK-NEXT: ret i9 [[B:%.*]]
931 %r = call i9 @llvm.fshr.i9(i9 %a, i9 %b, i9 poison)
932 ret i9 %r
935 define i9 @fshr_ops_poison6() {
937 ; CHECK-NEXT: ret i9 undef
939 %r = call i9 @llvm.fshr.i9(i9 undef, i9 undef, i9 poison)
940 ret i9 %r