Skip to content

Commit 2a53949

Browse files
committed
[RISCV] Add test for partial reduce with select. NFC
RISC-V test coverage for llvm#167857
1 parent f84ad45 commit 2a53949

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -994,6 +994,31 @@ entry:
994994
%res = call <vscale x 4 x i32> @llvm.vector.partial.reduce.add(<vscale x 4 x i32> zeroinitializer, <vscale x 16 x i32> %a.ext)
995995
ret <vscale x 4 x i32> %res
996996
}
997+
998+
define <vscale x 2 x i32> @partial_reduce_select(<vscale x 8 x i8> %a, <vscale x 8 x i8> %b, <vscale x 8 x i1> %m) {
999+
; CHECK-LABEL: partial_reduce_select:
1000+
; CHECK: # %bb.0: # %entry
1001+
; CHECK-NEXT: vsetvli a0, zero, e16, m2, ta, ma
1002+
; CHECK-NEXT: vsext.vf2 v12, v8
1003+
; CHECK-NEXT: vsext.vf2 v14, v9
1004+
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, ma
1005+
; CHECK-NEXT: vmv.v.i v8, 0
1006+
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, mu
1007+
; CHECK-NEXT: vwmul.vv v8, v12, v14, v0.t
1008+
; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, ma
1009+
; CHECK-NEXT: vadd.vv v8, v11, v8
1010+
; CHECK-NEXT: vadd.vv v9, v9, v10
1011+
; CHECK-NEXT: vadd.vv v8, v9, v8
1012+
; CHECK-NEXT: ret
1013+
entry:
1014+
%a.sext = sext <vscale x 8 x i8> %a to <vscale x 8 x i32>
1015+
%b.sext = sext <vscale x 8 x i8> %b to <vscale x 8 x i32>
1016+
%mul = mul <vscale x 8 x i32> %a.sext, %b.sext
1017+
%sel = select <vscale x 8 x i1> %m, <vscale x 8 x i32> %mul, <vscale x 8 x i32> zeroinitializer
1018+
%res = call <vscale x 2 x i32> @llvm.vector.partial.reduce.add(<vscale x 2 x i32> zeroinitializer, <vscale x 8 x i32> %sel)
1019+
ret <vscale x 2 x i32> %res
1020+
}
1021+
9971022
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
9981023
; DOT32: {{.*}}
9991024
; DOT64: {{.*}}

0 commit comments

Comments
 (0)