@@ -829,10 +829,7 @@ define <vscale x 2 x i1> @select_cond_x_cond(<vscale x 2 x i1> %x, <vscale x 2 x
829
829
define <vscale x 2 x i1 > @select_undef_T_F (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , i32 zeroext %evl ) {
830
830
; CHECK-LABEL: select_undef_T_F:
831
831
; CHECK: # %bb.0:
832
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
833
- ; CHECK-NEXT: vmandn.mm v8, v8, v8
834
- ; CHECK-NEXT: vmand.mm v9, v0, v8
835
- ; CHECK-NEXT: vmor.mm v0, v9, v8
832
+ ; CHECK-NEXT: vmv1r.v v0, v8
836
833
; CHECK-NEXT: ret
837
834
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > poison, <vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , i32 %evl )
838
835
ret <vscale x 2 x i1 > %a
@@ -841,8 +838,6 @@ define <vscale x 2 x i1> @select_undef_T_F(<vscale x 2 x i1> %x, <vscale x 2 x i
841
838
define <vscale x 2 x i1 > @select_undef_undef_F (<vscale x 2 x i1 > %x , i32 zeroext %evl ) {
842
839
; CHECK-LABEL: select_undef_undef_F:
843
840
; CHECK: # %bb.0:
844
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
845
- ; CHECK-NEXT: vmor.mm v0, v8, v0
846
841
; CHECK-NEXT: ret
847
842
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > poison, <vscale x 2 x i1 > undef , <vscale x 2 x i1 > %x , i32 %evl )
848
843
ret <vscale x 2 x i1 > %a
@@ -851,10 +846,7 @@ define <vscale x 2 x i1> @select_undef_undef_F(<vscale x 2 x i1> %x, i32 zeroext
851
846
define <vscale x 2 x i1 > @select_unknown_undef_F (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , i32 zeroext %evl ) {
852
847
; CHECK-LABEL: select_unknown_undef_F:
853
848
; CHECK: # %bb.0:
854
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
855
- ; CHECK-NEXT: vmandn.mm v8, v8, v0
856
- ; CHECK-NEXT: vmand.mm v9, v8, v0
857
- ; CHECK-NEXT: vmor.mm v0, v9, v8
849
+ ; CHECK-NEXT: vmv1r.v v0, v8
858
850
; CHECK-NEXT: ret
859
851
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > undef , <vscale x 2 x i1 > %y , i32 %evl )
860
852
ret <vscale x 2 x i1 > %a
@@ -863,10 +855,7 @@ define <vscale x 2 x i1> @select_unknown_undef_F(<vscale x 2 x i1> %x, <vscale x
863
855
define <vscale x 2 x i1 > @select_unknown_T_undef (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , i32 zeroext %evl ) {
864
856
; CHECK-LABEL: select_unknown_T_undef:
865
857
; CHECK: # %bb.0:
866
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
867
- ; CHECK-NEXT: vmandn.mm v9, v8, v0
868
- ; CHECK-NEXT: vmand.mm v8, v8, v0
869
- ; CHECK-NEXT: vmor.mm v0, v8, v9
858
+ ; CHECK-NEXT: vmv1r.v v0, v8
870
859
; CHECK-NEXT: ret
871
860
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , <vscale x 2 x i1 > poison, i32 %evl )
872
861
ret <vscale x 2 x i1 > %a
@@ -875,12 +864,7 @@ define <vscale x 2 x i1> @select_unknown_T_undef(<vscale x 2 x i1> %x, <vscale x
875
864
define <vscale x 2 x i1 > @select_false_T_F (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , <vscale x 2 x i1 > %z , i32 zeroext %evl ) {
876
865
; CHECK-LABEL: select_false_T_F:
877
866
; CHECK: # %bb.0:
878
- ; CHECK-NEXT: vsetvli a1, zero, e8, mf4, ta, ma
879
- ; CHECK-NEXT: vmclr.m v10
880
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
881
- ; CHECK-NEXT: vmandn.mm v9, v9, v10
882
- ; CHECK-NEXT: vmand.mm v8, v8, v10
883
- ; CHECK-NEXT: vmor.mm v0, v8, v9
867
+ ; CHECK-NEXT: vmv1r.v v0, v9
884
868
; CHECK-NEXT: ret
885
869
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > zeroinitializer , <vscale x 2 x i1 > %y , <vscale x 2 x i1 > %z , i32 %evl )
886
870
ret <vscale x 2 x i1 > %a
@@ -889,10 +873,7 @@ define <vscale x 2 x i1> @select_false_T_F(<vscale x 2 x i1> %x, <vscale x 2 x i
889
873
define <vscale x 2 x i1 > @select_unknown_T_T (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , i32 zeroext %evl ) {
890
874
; CHECK-LABEL: select_unknown_T_T:
891
875
; CHECK: # %bb.0:
892
- ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma
893
- ; CHECK-NEXT: vmandn.mm v9, v8, v0
894
- ; CHECK-NEXT: vmand.mm v8, v8, v0
895
- ; CHECK-NEXT: vmor.mm v0, v8, v9
876
+ ; CHECK-NEXT: vmv1r.v v0, v8
896
877
; CHECK-NEXT: ret
897
878
%a = call <vscale x 2 x i1 > @llvm.vp.select.nxv2i1 (<vscale x 2 x i1 > %x , <vscale x 2 x i1 > %y , <vscale x 2 x i1 > %y , i32 %evl )
898
879
ret <vscale x 2 x i1 > %a
0 commit comments