Skip to content

Commit 21c4fbd

Browse files
[RISCV][VLOPT] Pre-commit test for adding support for vfrec7.v
Signed-off-by: Mikhail R. Gadelha <mikhail@igalia.com>
1 parent e93a346 commit 21c4fbd

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5323,3 +5323,30 @@ define <vscale x 4 x double> @vfrsqrt7(<vscale x 4 x float> %a) {
53235323
%2 = call <vscale x 4 x double> @llvm.riscv.vfwmacc(<vscale x 4 x double> poison, <vscale x 4 x float> %a, <vscale x 4 x float> %1, iXLen 7, iXLen 6, iXLen 0)
53245324
ret <vscale x 4 x double> %2
53255325
}
5326+
5327+
define <vscale x 4 x double> @vfrec7(<vscale x 4 x float> %a) {
5328+
; NOVLOPT-LABEL: vfrec7:
5329+
; NOVLOPT: # %bb.0:
5330+
; NOVLOPT-NEXT: vsetivli zero, 7, e32, m2, ta, ma
5331+
; NOVLOPT-NEXT: vmv2r.v v12, v8
5332+
; NOVLOPT-NEXT: fsrmi a0, 0
5333+
; NOVLOPT-NEXT: vfrec7.v v14, v8
5334+
; NOVLOPT-NEXT: fsrm a0
5335+
; NOVLOPT-NEXT: vsetivli zero, 6, e32, m2, ta, ma
5336+
; NOVLOPT-NEXT: vfwmacc.vv v8, v12, v14
5337+
; NOVLOPT-NEXT: ret
5338+
;
5339+
; VLOPT-LABEL: vfrec7:
5340+
; VLOPT: # %bb.0:
5341+
; VLOPT-NEXT: vsetivli zero, 7, e32, m2, ta, ma
5342+
; VLOPT-NEXT: vmv2r.v v12, v8
5343+
; VLOPT-NEXT: fsrmi a0, 0
5344+
; VLOPT-NEXT: vfrec7.v v14, v8
5345+
; VLOPT-NEXT: fsrm a0
5346+
; VLOPT-NEXT: vsetivli zero, 6, e32, m2, ta, ma
5347+
; VLOPT-NEXT: vfwmacc.vv v8, v12, v14
5348+
; VLOPT-NEXT: ret
5349+
%1 = call <vscale x 4 x float> @llvm.riscv.vfrec7.nxv4f32(<vscale x 4 x float> poison, <vscale x 4 x float> %a, iXLen 0, iXLen 7)
5350+
%2 = call <vscale x 4 x double> @llvm.riscv.vfwmacc(<vscale x 4 x double> poison, <vscale x 4 x float> %a, <vscale x 4 x float> %1, iXLen 7, iXLen 6, iXLen 0)
5351+
ret <vscale x 4 x double> %2
5352+
}

0 commit comments

Comments
 (0)