Skip to content

Commit f6cb23e

Browse files
fixup! add test for source operand
1 parent 42cfde5 commit f6cb23e

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1290,6 +1290,27 @@ define <vscale x 4 x i32> @vmacc_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
12901290
ret <vscale x 4 x i32> %2
12911291
}
12921292

1293+
define <vscale x 4 x i32> @vmacc_vv_use(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen %vl) {
1294+
; NOVLOPT-LABEL: vmacc_vv_use:
1295+
; NOVLOPT: # %bb.0:
1296+
; NOVLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
1297+
; NOVLOPT-NEXT: vmul.vv v12, v8, v10
1298+
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1299+
; NOVLOPT-NEXT: vmacc.vv v8, v12, v10
1300+
; NOVLOPT-NEXT: ret
1301+
;
1302+
; VLOPT-LABEL: vmacc_vv_use:
1303+
; VLOPT: # %bb.0:
1304+
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
1305+
; VLOPT-NEXT: vmul.vv v12, v8, v10
1306+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1307+
; VLOPT-NEXT: vmacc.vv v8, v12, v10
1308+
; VLOPT-NEXT: ret
1309+
%1 = call <vscale x 4 x i32> @llvm.riscv.vmul.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
1310+
%2 = call <vscale x 4 x i32> @llvm.riscv.vmacc.nxv4i32.nxv4i32(<vscale x 4 x i32> %a, <vscale x 4 x i32> %1, <vscale x 4 x i32> %b, iXLen %vl, iXLen 0)
1311+
ret <vscale x 4 x i32> %2
1312+
}
1313+
12931314
define <vscale x 4 x i32> @vmacc_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
12941315
; NOVLOPT-LABEL: vmacc_vx:
12951316
; NOVLOPT: # %bb.0:

0 commit comments

Comments
 (0)