Skip to content

Commit 9b8bcd2

Browse files
committed
[RISCV][test] Add a test for vector hasAndNot
1 parent a30f102 commit 9b8bcd2

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2567,3 +2567,24 @@ for.body:
25672567
%exitcond.not = icmp eq i64 %indvars.iv.next, 256
25682568
br i1 %exitcond.not, label %for.cond.cleanup, label %for.body
25692569
}
2570+
2571+
define <vscale x 1 x i8> @not_signbit_mask_nxv1i8(<vscale x 1 x i8> %a, <vscale x 1 x i8> %b) {
2572+
; CHECK-LABEL: not_signbit_mask_nxv1i8:
2573+
; CHECK: # %bb.0:
2574+
; CHECK-NEXT: vsetvli a0, zero, e8, mf8, ta, ma
2575+
; CHECK-NEXT: vmsgt.vi v0, v8, -1
2576+
; CHECK-NEXT: vmv.v.i v8, 0
2577+
; CHECK-NEXT: vmerge.vvm v8, v8, v9, v0
2578+
; CHECK-NEXT: ret
2579+
;
2580+
; CHECK-ZVKB-LABEL: not_signbit_mask_nxv1i8:
2581+
; CHECK-ZVKB: # %bb.0:
2582+
; CHECK-ZVKB-NEXT: vsetvli a0, zero, e8, mf8, ta, ma
2583+
; CHECK-ZVKB-NEXT: vmsgt.vi v0, v8, -1
2584+
; CHECK-ZVKB-NEXT: vmv.v.i v8, 0
2585+
; CHECK-ZVKB-NEXT: vmerge.vvm v8, v8, v9, v0
2586+
; CHECK-ZVKB-NEXT: ret
2587+
%cond = icmp sgt <vscale x 1 x i8> %a, splat (i8 -1)
2588+
%r = select <vscale x 1 x i1> %cond, <vscale x 1 x i8> %b, <vscale x 1 x i8> zeroinitializer
2589+
ret <vscale x 1 x i8> %r
2590+
}

0 commit comments

Comments
 (0)