@@ -51,7 +51,7 @@ define i1 @reduction_logical_mul(<2 x i1> %x) {
5151
5252define i1 @reduction_logical_mul_nxv2i1 (<vscale x 2 x i1 > %x ) {
5353; CHECK-LABEL: @reduction_logical_mul_nxv2i1(
54- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.mul .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
54+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.and .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
5555; CHECK-NEXT: ret i1 [[R]]
5656;
5757 %r = call i1 @llvm.vector.reduce.mul.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -71,7 +71,7 @@ define i1 @reduction_logical_xor(<2 x i1> %x) {
7171
7272define i1 @reduction_logical_xor_nxv2i1 (<vscale x 2 x i1 > %x ) {
7373; CHECK-LABEL: @reduction_logical_xor_nxv2i1(
74- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.xor .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
74+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.add .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
7575; CHECK-NEXT: ret i1 [[R]]
7676;
7777 %r = call i1 @llvm.vector.reduce.xor.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -90,7 +90,7 @@ define i1 @reduction_logical_smin(<2 x i1> %x) {
9090
9191define i1 @reduction_logical_smin_nxv2i1 (<vscale x 2 x i1 > %x ) {
9292; CHECK-LABEL: @reduction_logical_smin_nxv2i1(
93- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.smin .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
93+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.or .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
9494; CHECK-NEXT: ret i1 [[R]]
9595;
9696 %r = call i1 @llvm.vector.reduce.smin.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -109,7 +109,7 @@ define i1 @reduction_logical_smax(<2 x i1> %x) {
109109
110110define i1 @reduction_logical_smax_nxv2i1 (<vscale x 2 x i1 > %x ) {
111111; CHECK-LABEL: @reduction_logical_smax_nxv2i1(
112- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.smax .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
112+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.and .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
113113; CHECK-NEXT: ret i1 [[R]]
114114;
115115 %r = call i1 @llvm.vector.reduce.smax.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -128,7 +128,7 @@ define i1 @reduction_logical_umin(<2 x i1> %x) {
128128
129129define i1 @reduction_logical_umin_nxv2i1 (<vscale x 2 x i1 > %x ) {
130130; CHECK-LABEL: @reduction_logical_umin_nxv2i1(
131- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.umin .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
131+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.and .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
132132; CHECK-NEXT: ret i1 [[R]]
133133;
134134 %r = call i1 @llvm.vector.reduce.umin.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -147,7 +147,7 @@ define i1 @reduction_logical_umax(<2 x i1> %x) {
147147
148148define i1 @reduction_logical_umax_nxv2i1 (<vscale x 2 x i1 > %x ) {
149149; CHECK-LABEL: @reduction_logical_umax_nxv2i1(
150- ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.umax .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
150+ ; CHECK-NEXT: [[R:%.*]] = call i1 @llvm.vector.reduce.or .nxv2i1(<vscale x 2 x i1> [[X:%.*]])
151151; CHECK-NEXT: ret i1 [[R]]
152152;
153153 %r = call i1 @llvm.vector.reduce.umax.nxv2i1 (<vscale x 2 x i1 > %x )
@@ -199,7 +199,7 @@ define i1 @reduction_logical_and_reverse_v2i1(<2 x i1> %p) {
199199
200200define i1 @reduction_logical_xor_reverse_nxv2i1 (<vscale x 2 x i1 > %p ) {
201201; CHECK-LABEL: @reduction_logical_xor_reverse_nxv2i1(
202- ; CHECK-NEXT: [[RED:%.*]] = call i1 @llvm.vector.reduce.xor .nxv2i1(<vscale x 2 x i1> [[P:%.*]])
202+ ; CHECK-NEXT: [[RED:%.*]] = call i1 @llvm.vector.reduce.add .nxv2i1(<vscale x 2 x i1> [[P:%.*]])
203203; CHECK-NEXT: ret i1 [[RED]]
204204;
205205 %rev = call <vscale x 2 x i1 > @llvm.vector.reverse.nxv2i1 (<vscale x 2 x i1 > %p )
0 commit comments