Skip to content

Commit 9f9ce6a

Browse files
committed
Precommit tests
1 parent 20637e7 commit 9f9ce6a

File tree

4 files changed

+68
-0
lines changed

4 files changed

+68
-0
lines changed

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,3 +323,16 @@ define <vscale x 8 x double> @vfwadd_wf_nxv8f64_2(<vscale x 8 x double> %va, flo
323323
%vd = fadd <vscale x 8 x double> %va, %splat
324324
ret <vscale x 8 x double> %vd
325325
}
326+
327+
define <vscale x 1 x double> @vfwadd_vv_nxv1f64_same_op(<vscale x 1 x float> %va) {
328+
; CHECK-LABEL: vfwadd_vv_nxv1f64_same_op:
329+
; CHECK: # %bb.0:
330+
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, ma
331+
; CHECK-NEXT: vfwcvt.f.f.v v9, v8
332+
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
333+
; CHECK-NEXT: vfadd.vv v8, v9, v9
334+
; CHECK-NEXT: ret
335+
%vb = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
336+
%vc = fadd <vscale x 1 x double> %vb, %vb
337+
ret <vscale x 1 x double> %vc
338+
}

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1764,3 +1764,32 @@ define <vscale x 8 x double> @vfwnmsac_fv_nxv8f64(<vscale x 8 x double> %va, <vs
17641764
%vg = call <vscale x 8 x double> @llvm.fma.v8f64(<vscale x 8 x double> %vd, <vscale x 8 x double> %vf, <vscale x 8 x double> %va)
17651765
ret <vscale x 8 x double> %vg
17661766
}
1767+
1768+
define <vscale x 1 x double> @vfwma_vv_nxv1f64_same_op(<vscale x 1 x float> %va, <vscale x 1 x double> %vb) {
1769+
; CHECK-LABEL: vfwma_vv_nxv1f64_same_op:
1770+
; CHECK: # %bb.0:
1771+
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, ma
1772+
; CHECK-NEXT: vfwcvt.f.f.v v10, v8
1773+
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
1774+
; CHECK-NEXT: vfmadd.vv v10, v10, v9
1775+
; CHECK-NEXT: vmv.v.v v8, v10
1776+
; CHECK-NEXT: ret
1777+
%vc = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
1778+
%vd = call <vscale x 1 x double> @llvm.fma(<vscale x 1 x double> %vc, <vscale x 1 x double> %vc, <vscale x 1 x double> %vb)
1779+
ret <vscale x 1 x double> %vd
1780+
}
1781+
1782+
define <vscale x 1 x double> @vfwmsac_vv_nxv1f64_same_op(<vscale x 1 x float> %va, <vscale x 1 x double> %vb) {
1783+
; CHECK-LABEL: vfwmsac_vv_nxv1f64_same_op:
1784+
; CHECK: # %bb.0:
1785+
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, ma
1786+
; CHECK-NEXT: vfwcvt.f.f.v v10, v8
1787+
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
1788+
; CHECK-NEXT: vfmsub.vv v10, v10, v9
1789+
; CHECK-NEXT: vmv.v.v v8, v10
1790+
; CHECK-NEXT: ret
1791+
%vc = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
1792+
%vd = fneg <vscale x 1 x double> %vb
1793+
%ve = call <vscale x 1 x double> @llvm.fma(<vscale x 1 x double> %vc, <vscale x 1 x double> %vc, <vscale x 1 x double> %vd)
1794+
ret <vscale x 1 x double> %ve
1795+
}

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,3 +175,16 @@ define <vscale x 8 x double> @vfwmul_vf_nxv8f64_2(<vscale x 8 x float> %va, floa
175175
%ve = fmul <vscale x 8 x double> %vc, %splat
176176
ret <vscale x 8 x double> %ve
177177
}
178+
179+
define <vscale x 1 x double> @vfwmul_vv_nxv1f64_same_op(<vscale x 1 x float> %va) {
180+
; CHECK-LABEL: vfwmul_vv_nxv1f64_same_op:
181+
; CHECK: # %bb.0:
182+
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, ma
183+
; CHECK-NEXT: vfwcvt.f.f.v v9, v8
184+
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
185+
; CHECK-NEXT: vfmul.vv v8, v9, v9
186+
; CHECK-NEXT: ret
187+
%vb = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
188+
%vc = fmul <vscale x 1 x double> %vb, %vb
189+
ret <vscale x 1 x double> %vc
190+
}

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,3 +323,16 @@ define <vscale x 8 x double> @vfwsub_wf_nxv8f64_2(<vscale x 8 x double> %va, flo
323323
%vd = fsub <vscale x 8 x double> %va, %splat
324324
ret <vscale x 8 x double> %vd
325325
}
326+
327+
define <vscale x 1 x double> @vfwsub_vv_nxv1f64_same_op(<vscale x 1 x float> %va) {
328+
; CHECK-LABEL: vfwsub_vv_nxv1f64_same_op:
329+
; CHECK: # %bb.0:
330+
; CHECK-NEXT: vsetvli a0, zero, e32, mf2, ta, ma
331+
; CHECK-NEXT: vfwcvt.f.f.v v9, v8
332+
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
333+
; CHECK-NEXT: vfsub.vv v8, v9, v9
334+
; CHECK-NEXT: ret
335+
%vb = fpext <vscale x 1 x float> %va to <vscale x 1 x double>
336+
%vc = fsub <vscale x 1 x double> %vb, %vb
337+
ret <vscale x 1 x double> %vc
338+
}

0 commit comments

Comments
 (0)