Skip to content

Commit cbe89ca

Browse files
fixup! use vadd in tests
1 parent 4cb75a2 commit cbe89ca

File tree

1 file changed

+24
-32
lines changed

1 file changed

+24
-32
lines changed

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

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,27 +1248,25 @@ define <vscale x 4 x i64> @vwmulu_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
12481248
ret <vscale x 4 x i64> %2
12491249
}
12501250

1251-
define <vscale x 4 x i64> @vwmacc_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, <vscale x 4 x i64> %d, iXLen %vl) {
1251+
define <vscale x 4 x i32> @vwmacc_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, <vscale x 4 x i32> %d, iXLen %vl) {
12521252
; NOVLOPT-LABEL: vwmacc_vv:
12531253
; NOVLOPT: # %bb.0:
12541254
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
12551255
; NOVLOPT-NEXT: vwmacc.vv v8, v10, v11
1256-
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1257-
; NOVLOPT-NEXT: vwmacc.vv v12, v8, v8
1258-
; NOVLOPT-NEXT: vmv4r.v v8, v12
1256+
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
1257+
; NOVLOPT-NEXT: vadd.vv v8, v8, v12
12591258
; NOVLOPT-NEXT: ret
12601259
;
12611260
; VLOPT-LABEL: vwmacc_vv:
12621261
; VLOPT: # %bb.0:
12631262
; VLOPT-NEXT: vsetvli zero, a0, e16, m1, tu, ma
12641263
; VLOPT-NEXT: vwmacc.vv v8, v10, v11
1265-
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1266-
; VLOPT-NEXT: vwmacc.vv v12, v8, v8
1267-
; VLOPT-NEXT: vmv4r.v v8, v12
1264+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1265+
; VLOPT-NEXT: vadd.vv v8, v8, v12
12681266
; VLOPT-NEXT: ret
12691267
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmacc.nxv4i32.nxv4i16(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, iXLen -1, iXLen 0)
1270-
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmacc.nxv4i32.nxv4i16(<vscale x 4 x i64> %d, <vscale x 4 x i32> %1, <vscale x 4 x i32> %1, iXLen %vl, iXLen 0)
1271-
ret <vscale x 4 x i64> %2
1268+
%2 = call <vscale x 4 x i32> @llvm.riscv.vadd.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %1, <vscale x 4 x i32> %d, iXLen %vl)
1269+
ret <vscale x 4 x i32> %2
12721270
}
12731271

12741272
define <vscale x 4 x i32> @vwmacc_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen %vl) {
@@ -1292,52 +1290,46 @@ define <vscale x 4 x i32> @vwmacc_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4
12921290
ret <vscale x 4 x i32> %2
12931291
}
12941292

1295-
define <vscale x 4 x i64> @vwmaccu_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, <vscale x 4 x i64> %d, iXLen %vl) {
1293+
define <vscale x 4 x i32> @vwmaccu_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, <vscale x 4 x i32> %d, iXLen %vl) {
12961294
; NOVLOPT-LABEL: vwmaccu_vv:
12971295
; NOVLOPT: # %bb.0:
1298-
; NOVLOPT-NEXT: vmv2r.v v16, v8
12991296
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
1300-
; NOVLOPT-NEXT: vwmaccu.vv v16, v10, v11
1301-
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1302-
; NOVLOPT-NEXT: vwmaccu.vv v12, v8, v16
1303-
; NOVLOPT-NEXT: vmv4r.v v8, v12
1297+
; NOVLOPT-NEXT: vwmaccu.vv v8, v10, v11
1298+
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
1299+
; NOVLOPT-NEXT: vadd.vv v8, v8, v12
13041300
; NOVLOPT-NEXT: ret
13051301
;
13061302
; VLOPT-LABEL: vwmaccu_vv:
13071303
; VLOPT: # %bb.0:
1308-
; VLOPT-NEXT: vmv2r.v v16, v8
13091304
; VLOPT-NEXT: vsetvli zero, a0, e16, m1, tu, ma
1310-
; VLOPT-NEXT: vwmaccu.vv v16, v10, v11
1311-
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1312-
; VLOPT-NEXT: vwmaccu.vv v12, v8, v16
1313-
; VLOPT-NEXT: vmv4r.v v8, v12
1305+
; VLOPT-NEXT: vwmaccu.vv v8, v10, v11
1306+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1307+
; VLOPT-NEXT: vadd.vv v8, v8, v12
13141308
; VLOPT-NEXT: ret
13151309
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmaccu.nxv4i32.nxv4i16(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, iXLen -1, iXLen 0)
1316-
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmaccu.nxv4i64.nxv4i32(<vscale x 4 x i64> %d, <vscale x 4 x i32> %a, <vscale x 4 x i32> %1, iXLen %vl, iXLen 0)
1317-
ret <vscale x 4 x i64> %2
1310+
%2 = call <vscale x 4 x i32> @llvm.riscv.vadd.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %1, <vscale x 4 x i32> %d, iXLen %vl)
1311+
ret <vscale x 4 x i32> %2
13181312
}
13191313

1320-
define <vscale x 4 x i64> @vwmaccu_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, <vscale x 4 x i64> %d, i32 %e, iXLen %vl) {
1314+
define <vscale x 4 x i32> @vwmaccu_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, <vscale x 4 x i32> %d, i32 %e, iXLen %vl) {
13211315
; NOVLOPT-LABEL: vwmaccu_vx:
13221316
; NOVLOPT: # %bb.0:
1323-
; NOVLOPT-NEXT: vsetvli a3, zero, e16, m1, tu, ma
1317+
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
13241318
; NOVLOPT-NEXT: vwmaccu.vx v8, a0, v10
1325-
; NOVLOPT-NEXT: vsetvli zero, a2, e32, m2, tu, ma
1326-
; NOVLOPT-NEXT: vwmaccu.vx v12, a1, v8
1327-
; NOVLOPT-NEXT: vmv4r.v v8, v12
1319+
; NOVLOPT-NEXT: vsetvli zero, a2, e32, m2, ta, ma
1320+
; NOVLOPT-NEXT: vadd.vv v8, v8, v12
13281321
; NOVLOPT-NEXT: ret
13291322
;
13301323
; VLOPT-LABEL: vwmaccu_vx:
13311324
; VLOPT: # %bb.0:
13321325
; VLOPT-NEXT: vsetvli zero, a2, e16, m1, tu, ma
13331326
; VLOPT-NEXT: vwmaccu.vx v8, a0, v10
1334-
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1335-
; VLOPT-NEXT: vwmaccu.vx v12, a1, v8
1336-
; VLOPT-NEXT: vmv4r.v v8, v12
1327+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1328+
; VLOPT-NEXT: vadd.vv v8, v8, v12
13371329
; VLOPT-NEXT: ret
13381330
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmaccu.nxv4i32.i16(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen -1, iXLen 0)
1339-
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmaccu.nxv4i64.i32(<vscale x 4 x i64> %d, i32 %e, <vscale x 4 x i32> %1, iXLen %vl, iXLen 0)
1340-
ret <vscale x 4 x i64> %2
1331+
%2 = call <vscale x 4 x i32> @llvm.riscv.vadd.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %1, <vscale x 4 x i32> %d, iXLen %vl)
1332+
ret <vscale x 4 x i32> %2
13411333
}
13421334

13431335
define <vscale x 4 x i32> @vwmaccsu_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, iXLen %vl) {

0 commit comments

Comments
 (0)