You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
+27Lines changed: 27 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5323,3 +5323,30 @@ define <vscale x 4 x double> @vfrsqrt7(<vscale x 4 x float> %a) {
5323
5323
%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)
5324
5324
ret <vscale x 4 x double> %2
5325
5325
}
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)
0 commit comments