Skip to content

Commit 27379bb

Browse files
fixup! revise tests
1 parent fb347ac commit 27379bb

File tree

1 file changed

+51
-51
lines changed

1 file changed

+51
-51
lines changed

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

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,16 +1122,16 @@ define <vscale x 4 x i32> @vrem_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
11221122
ret <vscale x 4 x i32> %2
11231123
}
11241124

1125-
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, iXLen %vl) {
1126-
; NOVLOPT-LABEL: vwmacc_vv:
1125+
define <vscale x 4 x i32> @vwmacc_vv_propagate(<vscale x 4 x i32> %a, <vscale x 4 x i16> %b, <vscale x 4 x i16> %c, iXLen %vl) {
1126+
; NOVLOPT-LABEL: vwmacc_vv_propagate:
11271127
; NOVLOPT: # %bb.0:
11281128
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
11291129
; NOVLOPT-NEXT: vwmacc.vv v8, v10, v11
11301130
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
11311131
; NOVLOPT-NEXT: vadd.vv v8, v8, v8
11321132
; NOVLOPT-NEXT: ret
11331133
;
1134-
; VLOPT-LABEL: vwmacc_vv:
1134+
; VLOPT-LABEL: vwmacc_vv_propagate:
11351135
; VLOPT: # %bb.0:
11361136
; VLOPT-NEXT: vsetvli zero, a0, e16, m1, tu, ma
11371137
; VLOPT-NEXT: vwmacc.vv v8, v10, v11
@@ -1143,16 +1143,41 @@ define <vscale x 4 x i32> @vwmacc_vv(<vscale x 4 x i32> %a, <vscale x 4 x i16> %
11431143
ret <vscale x 4 x i32> %2
11441144
}
11451145

1146-
define <vscale x 4 x i32> @vwmacc_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen %vl) {
1147-
; NOVLOPT-LABEL: vwmacc_vx:
1146+
define <vscale x 4 x i64> @vwmacc_vv_nopropagate(<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) {
1147+
; NOVLOPT-LABEL: vwmacc_vv_nopropagate:
1148+
; NOVLOPT: # %bb.0:
1149+
; NOVLOPT-NEXT: vmv2r.v v16, v8
1150+
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
1151+
; NOVLOPT-NEXT: vwmacc.vv v16, v10, v11
1152+
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1153+
; NOVLOPT-NEXT: vwmacc.vv v12, v16, v8
1154+
; NOVLOPT-NEXT: vmv4r.v v8, v12
1155+
; NOVLOPT-NEXT: ret
1156+
;
1157+
; VLOPT-LABEL: vwmacc_vv_nopropagate:
1158+
; VLOPT: # %bb.0:
1159+
; VLOPT-NEXT: vmv2r.v v16, v8
1160+
; VLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
1161+
; VLOPT-NEXT: vwmacc.vv v16, v10, v11
1162+
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1163+
; VLOPT-NEXT: vwmacc.vv v12, v16, v8
1164+
; VLOPT-NEXT: vmv4r.v v8, v12
1165+
; VLOPT-NEXT: ret
1166+
%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)
1167+
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmacc.nxv4i64.nxv4i32(<vscale x 4 x i64> %d, <vscale x 4 x i32> %1, <vscale x 4 x i32> %a, iXLen %vl, iXLen 0)
1168+
ret <vscale x 4 x i64> %2
1169+
}
1170+
1171+
define <vscale x 4 x i32> @vwmacc_vx_propagate(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen %vl) {
1172+
; NOVLOPT-LABEL: vwmacc_vx_propagate:
11481173
; NOVLOPT: # %bb.0:
11491174
; NOVLOPT-NEXT: vsetvli a2, zero, e16, m1, tu, ma
11501175
; NOVLOPT-NEXT: vwmacc.vx v8, a0, v10
11511176
; NOVLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
11521177
; NOVLOPT-NEXT: vadd.vv v8, v8, v8
11531178
; NOVLOPT-NEXT: ret
11541179
;
1155-
; VLOPT-LABEL: vwmacc_vx:
1180+
; VLOPT-LABEL: vwmacc_vx_propagate:
11561181
; VLOPT: # %bb.0:
11571182
; VLOPT-NEXT: vsetvli zero, a1, e16, m1, tu, ma
11581183
; VLOPT-NEXT: vwmacc.vx v8, a0, v10
@@ -1164,33 +1189,29 @@ define <vscale x 4 x i32> @vwmacc_vx(<vscale x 4 x i32> %a, i16 %b, <vscale x 4
11641189
ret <vscale x 4 x i32> %2
11651190
}
11661191

1167-
define <vscale x 4 x i64> @vwmaccu_vv_nopropagate(<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) {
1168-
; NOVLOPT-LABEL: vwmaccu_vv_nopropagate:
1192+
define <vscale x 4 x i32> @vwmacc_vx_nopropagate(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen %vl) {
1193+
; NOVLOPT-LABEL: vwmacc_vx_nopropagate:
11691194
; NOVLOPT: # %bb.0:
1170-
; NOVLOPT-NEXT: vmv2r.v v16, v8
1171-
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
1172-
; NOVLOPT-NEXT: vwmaccu.vv v16, v10, v11
1173-
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1174-
; NOVLOPT-NEXT: vwmaccu.vv v12, v16, v8
1175-
; NOVLOPT-NEXT: vmv4r.v v8, v12
1195+
; NOVLOPT-NEXT: vsetvli a2, zero, e16, m1, tu, ma
1196+
; NOVLOPT-NEXT: vwmacc.vx v8, a0, v10
1197+
; NOVLOPT-NEXT: vsetvli zero, a1, e16, m1, tu, ma
1198+
; NOVLOPT-NEXT: vwmacc.vx v8, a0, v10
11761199
; NOVLOPT-NEXT: ret
11771200
;
1178-
; VLOPT-LABEL: vwmaccu_vv_nopropagate:
1201+
; VLOPT-LABEL: vwmacc_vx_nopropagate:
11791202
; VLOPT: # %bb.0:
1180-
; VLOPT-NEXT: vmv2r.v v16, v8
1181-
; VLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
1182-
; VLOPT-NEXT: vwmaccu.vv v16, v10, v11
1183-
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, tu, ma
1184-
; VLOPT-NEXT: vwmaccu.vv v12, v16, v8
1185-
; VLOPT-NEXT: vmv4r.v v8, v12
1203+
; VLOPT-NEXT: vsetvli a2, zero, e16, m1, tu, ma
1204+
; VLOPT-NEXT: vwmacc.vx v8, a0, v10
1205+
; VLOPT-NEXT: vsetvli zero, a1, e16, m1, tu, ma
1206+
; VLOPT-NEXT: vwmacc.vx v8, a0, v10
11861207
; VLOPT-NEXT: ret
1187-
%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)
1188-
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmaccu.nxv4i64.nxv4i32(<vscale x 4 x i64> %d, <vscale x 4 x i32> %1, <vscale x 4 x i32> %a, iXLen %vl, iXLen 0)
1189-
ret <vscale x 4 x i64> %2
1208+
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmacc.nxv4i32.i16(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, iXLen -1, iXLen 0)
1209+
%2 = call <vscale x 4 x i32> @llvm.riscv.vwmacc.nxv4i32.i16(<vscale x 4 x i32> %1, i16 %b, <vscale x 4 x i16> %c, iXLen %vl, iXLen 0)
1210+
ret <vscale x 4 x i32> %2
11901211
}
11911212

1192-
define <vscale x 4 x i64> @vwmaccu_vv_propagate(<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) {
1193-
; NOVLOPT-LABEL: vwmaccu_vv_propagate:
1213+
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) {
1214+
; NOVLOPT-LABEL: vwmaccu_vv:
11941215
; NOVLOPT: # %bb.0:
11951216
; NOVLOPT-NEXT: vmv2r.v v16, v8
11961217
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, tu, ma
@@ -1200,7 +1221,7 @@ define <vscale x 4 x i64> @vwmaccu_vv_propagate(<vscale x 4 x i32> %a, <vscale x
12001221
; NOVLOPT-NEXT: vmv4r.v v8, v12
12011222
; NOVLOPT-NEXT: ret
12021223
;
1203-
; VLOPT-LABEL: vwmaccu_vv_propagate:
1224+
; VLOPT-LABEL: vwmaccu_vv:
12041225
; VLOPT: # %bb.0:
12051226
; VLOPT-NEXT: vmv2r.v v16, v8
12061227
; VLOPT-NEXT: vsetvli zero, a0, e16, m1, tu, ma
@@ -1214,29 +1235,8 @@ define <vscale x 4 x i64> @vwmaccu_vv_propagate(<vscale x 4 x i32> %a, <vscale x
12141235
ret <vscale x 4 x i64> %2
12151236
}
12161237

1217-
define <vscale x 4 x i32> @vwmaccu_vx_nopropagate(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, <vscale x 4 x i16> %d, i16 %e, iXLen %vl) {
1218-
; NOVLOPT-LABEL: vwmaccu_vx_nopropagate:
1219-
; NOVLOPT: # %bb.0:
1220-
; NOVLOPT-NEXT: vsetvli a3, zero, e16, m1, tu, ma
1221-
; NOVLOPT-NEXT: vwmaccu.vx v8, a0, v10
1222-
; NOVLOPT-NEXT: vsetvli zero, a2, e16, m1, tu, ma
1223-
; NOVLOPT-NEXT: vwmaccu.vx v8, a1, v11
1224-
; NOVLOPT-NEXT: ret
1225-
;
1226-
; VLOPT-LABEL: vwmaccu_vx_nopropagate:
1227-
; VLOPT: # %bb.0:
1228-
; VLOPT-NEXT: vsetvli a3, zero, e16, m1, tu, ma
1229-
; VLOPT-NEXT: vwmaccu.vx v8, a0, v10
1230-
; VLOPT-NEXT: vsetvli zero, a2, e16, m1, tu, ma
1231-
; VLOPT-NEXT: vwmaccu.vx v8, a1, v11
1232-
; VLOPT-NEXT: ret
1233-
%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)
1234-
%2 = call <vscale x 4 x i32> @llvm.riscv.vwmaccu.nxv4i32.i16(<vscale x 4 x i32> %1, i16 %e, <vscale x 4 x i16> %d, iXLen %vl, iXLen 0)
1235-
ret <vscale x 4 x i32> %2
1236-
}
1237-
1238-
define <vscale x 4 x i64> @vwmaccu_vx_propagate(<vscale x 4 x i32> %a, i16 %b, <vscale x 4 x i16> %c, <vscale x 4 x i64> %d, i32 %e, iXLen %vl) {
1239-
; NOVLOPT-LABEL: vwmaccu_vx_propagate:
1238+
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) {
1239+
; NOVLOPT-LABEL: vwmaccu_vx:
12401240
; NOVLOPT: # %bb.0:
12411241
; NOVLOPT-NEXT: vsetvli a3, zero, e16, m1, tu, ma
12421242
; NOVLOPT-NEXT: vwmaccu.vx v8, a0, v10
@@ -1245,7 +1245,7 @@ define <vscale x 4 x i64> @vwmaccu_vx_propagate(<vscale x 4 x i32> %a, i16 %b, <
12451245
; NOVLOPT-NEXT: vmv4r.v v8, v12
12461246
; NOVLOPT-NEXT: ret
12471247
;
1248-
; VLOPT-LABEL: vwmaccu_vx_propagate:
1248+
; VLOPT-LABEL: vwmaccu_vx:
12491249
; VLOPT: # %bb.0:
12501250
; VLOPT-NEXT: vsetvli zero, a2, e16, m1, tu, ma
12511251
; VLOPT-NEXT: vwmaccu.vx v8, a0, v10

0 commit comments

Comments
 (0)