Skip to content

Commit 9bdcb87

Browse files
committed
Precommit tests
1 parent c2472be commit 9bdcb87

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-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
@@ -245,3 +245,16 @@ define <vscale x 1 x i64> @vmerge(<vscale x 1 x i64> %passthru, <vscale x 1 x i6
245245
%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)
246246
ret <vscale x 1 x i64> %b
247247
}
248+
249+
define <vscale x 4 x float> @commute_vfmadd(<vscale x 4 x float> %passthru, <vscale x 4 x float> %a, <vscale x 4 x float> %b, iXLen %vl) {
250+
; CHECK-LABEL: commute_vfmadd:
251+
; CHECK: # %bb.0:
252+
; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma
253+
; CHECK-NEXT: vfmadd.vv v10, v12, v8
254+
; CHECK-NEXT: vsetvli zero, zero, e32, m2, tu, ma
255+
; CHECK-NEXT: vmv.v.v v8, v10
256+
; CHECK-NEXT: ret
257+
%v = call <vscale x 4 x float> @llvm.riscv.vfmadd(<vscale x 4 x float> %a, <vscale x 4 x float> %b, <vscale x 4 x float> %passthru, iXLen 7, iXLen %vl, iXLen 3)
258+
%w = call <vscale x 4 x float> @llvm.riscv.vmv.v.v(<vscale x 4 x float> %passthru, <vscale x 4 x float> %v, iXLen %vl)
259+
ret <vscale x 4 x float> %w
260+
}

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,24 @@ body: |
168168
%x:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, %passthru, $noreg, %mask, 4, 5 /* e32 */
169169
%z:vr = PseudoVMV_V_V_M1 %passthru, %x, 4, 5 /* e32 */, 0 /* tu, mu */
170170
...
171+
---
172+
name: commute_vfmadd
173+
body: |
174+
bb.0:
175+
liveins: $x8, $v0, $v8, $v9, $v10
176+
; CHECK-LABEL: name: commute_vfmadd
177+
; CHECK: liveins: $x8, $v0, $v8, $v9, $v10
178+
; CHECK-NEXT: {{ $}}
179+
; CHECK-NEXT: %avl:gprnox0 = COPY $x8
180+
; CHECK-NEXT: %passthru:vrnov0 = COPY $v8
181+
; CHECK-NEXT: %x:vr = COPY $v9
182+
; CHECK-NEXT: %y:vr = COPY $v10
183+
; CHECK-NEXT: %vfmadd:vrnov0 = nofpexcept PseudoVFMADD_VV_M1_E32 %x, %y, %passthru, 7, %avl, 5 /* e32 */, 3 /* ta, ma */, implicit $frm
184+
; CHECK-NEXT: %vmerge:vrnov0 = PseudoVMV_V_V_M1 %passthru, %vfmadd, %avl, 5 /* e32 */, 0 /* tu, mu */
185+
%avl:gprnox0 = COPY $x8
186+
%passthru:vrnov0 = COPY $v8
187+
%x:vr = COPY $v9
188+
%y:vr = COPY $v10
189+
%vfmadd:vrnov0 = nofpexcept PseudoVFMADD_VV_M1_E32 %x, %y, %passthru, 7, -1, 5 /* e32 */, 3 /* ta, ma */, implicit $frm
190+
%vmerge:vrnov0 = PseudoVMV_V_V_M1 %passthru, %vfmadd, %avl, 5 /* e32 */, 0 /* tu, mu */
191+
...

0 commit comments

Comments
 (0)