Skip to content

Commit cc22263

Browse files
committed
Precommit tests
1 parent 2a5ac19 commit cc22263

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,3 +222,16 @@ define <vscale x 1 x i64> @vleff_move_past_passthru(ptr %p, ptr %q, iXLen %avl)
222222
%b = call <vscale x 1 x i64> @llvm.riscv.vmv.v.v.nxv1i64(<vscale x 1 x i64> %passthru, <vscale x 1 x i64> %vec, iXLen %avl)
223223
ret <vscale x 1 x i64> %b
224224
}
225+
226+
define <vscale x 1 x i64> @vmerge(<vscale x 1 x i64> %passthru, <vscale x 1 x i64> %x, <vscale x 1 x i64> %y, <vscale x 1 x i1> %m, iXLen %avl) {
227+
; CHECK-LABEL: vmerge:
228+
; CHECK: # %bb.0:
229+
; CHECK-NEXT: vsetvli zero, a0, e64, m1, tu, ma
230+
; CHECK-NEXT: vmv1r.v v11, v8
231+
; CHECK-NEXT: vmerge.vvm v11, v9, v10, v0
232+
; CHECK-NEXT: vmv.v.v v8, v11
233+
; CHECK-NEXT: ret
234+
%a = call <vscale x 1 x i64> @llvm.riscv.vmerge.nxv1i64.nxv1i64(<vscale x 1 x i64> %passthru, <vscale x 1 x i64> %x, <vscale x 1 x i64> %y, <vscale x 1 x i1> %m, iXLen %avl)
235+
%b = call <vscale x 1 x i64> @llvm.riscv.vmv.v.v.nxv1i64(<vscale x 1 x i64> %passthru, <vscale x 1 x i64> %a, iXLen %avl)
236+
ret <vscale x 1 x i64> %b
237+
}

llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,20 @@ body: |
152152
%y:gpr = ADDI $x0, 1
153153
%z:vr = PseudoVMV_V_V_M1 %passthru, %x, 4, 5 /* e32 */, 0 /* tu, mu */
154154
...
155+
---
156+
name: vmerge_vvm
157+
body: |
158+
bb.0:
159+
liveins: $v8, $v0
160+
; CHECK-LABEL: name: vmerge_vvm
161+
; CHECK: liveins: $v8, $v0
162+
; CHECK-NEXT: {{ $}}
163+
; CHECK-NEXT: %passthru:vr = COPY $v8
164+
; CHECK-NEXT: %mask:vmv0 = COPY $v0
165+
; CHECK-NEXT: %x:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, %passthru, $noreg, %mask, 4, 5 /* e32 */
166+
; CHECK-NEXT: %z:vr = PseudoVMV_V_V_M1 %passthru, %x, 4, 5 /* e32 */, 0 /* tu, mu */
167+
%passthru:vr = COPY $v8
168+
%mask:vmv0 = COPY $v0
169+
%x:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, %passthru, $noreg, %mask, 4, 5 /* e32 */
170+
%z:vr = PseudoVMV_V_V_M1 %passthru, %x, 4, 5 /* e32 */, 0 /* tu, mu */
171+
...

0 commit comments

Comments
 (0)