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
+20-20Lines changed: 20 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -1122,45 +1122,45 @@ define <vscale x 4 x i32> @vrem_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
1122
1122
ret <vscale x 4 x i32> %2
1123
1123
}
1124
1124
1125
-
define <vscale x 4 x i64> @vwmul_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen %vl) {
1125
+
define <vscale x 4 x i64> @vwmul_vv(<vscale x 4 x i16> %a, <vscale x 4 x i16> %b, iXLen %vl) {
1126
1126
; NOVLOPT-LABEL: vwmul_vv:
1127
1127
; NOVLOPT: # %bb.0:
1128
-
; NOVLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
1129
-
; NOVLOPT-NEXT: vwmul.vv v12, v8, v10
1130
-
; NOVLOPT-NEXT: vsetvli zero, a0, e64, m4, ta, ma
1131
-
; NOVLOPT-NEXT: vadd.vv v8, v12, v12
1128
+
; NOVLOPT-NEXT: vsetvli a1, zero, e16, m1, ta, ma
1129
+
; NOVLOPT-NEXT: vwmul.vv v12, v8, v9
1130
+
; NOVLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
1131
+
; NOVLOPT-NEXT: vwmul.vv v8, v12, v12
1132
1132
; NOVLOPT-NEXT: ret
1133
1133
;
1134
1134
; VLOPT-LABEL: vwmul_vv:
1135
1135
; VLOPT: # %bb.0:
1136
-
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
1137
-
; VLOPT-NEXT: vwmul.vv v12, v8, v10
1138
-
; VLOPT-NEXT: vsetvli zero, zero, e64, m4, ta, ma
1139
-
; VLOPT-NEXT: vadd.vv v8, v12, v12
1136
+
; VLOPT-NEXT: vsetvli zero, a0, e16, m1, ta, ma
1137
+
; VLOPT-NEXT: vwmul.vv v12, v8, v9
1138
+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1139
+
; VLOPT-NEXT: vwmul.vv v8, v12, v12
1140
1140
; VLOPT-NEXT: ret
1141
-
%1 = call <vscale x 4 x i64> @llvm.riscv.vwmul.nxv4i64.nxv4i32.nxv4i32(<vscale x 4 x i64> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
1142
-
%2 = call <vscale x 4 x i64> @llvm.riscv.vadd.nxv4i64.nxv4i64(<vscale x 4 x i64> poison, <vscale x 4 x i64> %1, <vscale x 4 x i64> %1, iXLen %vl)
1141
+
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmul.nxv4i64.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i16> %a, <vscale x 4 x i16> %b, iXLen -1)
1142
+
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmul.nxv4i64.nxv4i32.nxv4i32(<vscale x 4 x i64> poison, <vscale x 4 x i32> %1, <vscale x 4 x i32> %1, iXLen %vl)
1143
1143
ret <vscale x 4 x i64> %2
1144
1144
}
1145
1145
1146
-
define <vscale x 4 x i64> @vwmul_vx(<vscale x 4 x i32> %a, i32%b, iXLen %vl) {
1146
+
define <vscale x 4 x i64> @vwmul_vx(<vscale x 4 x i16> %a, i16%b, i32%c, iXLen %vl) {
1147
1147
; NOVLOPT-LABEL: vwmul_vx:
1148
1148
; NOVLOPT: # %bb.0:
1149
-
; NOVLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
1149
+
; NOVLOPT-NEXT: vsetvli a3, zero, e16, m1, ta, ma
1150
1150
; NOVLOPT-NEXT: vwmul.vx v12, v8, a0
1151
-
; NOVLOPT-NEXT: vsetvli zero, a1, e64, m4, ta, ma
1152
-
; NOVLOPT-NEXT: vadd.vv v8, v12, v12
1151
+
; NOVLOPT-NEXT: vsetvli zero, a2, e32, m2, ta, ma
1152
+
; NOVLOPT-NEXT: vwmul.vx v8, v12, a1
1153
1153
; NOVLOPT-NEXT: ret
1154
1154
;
1155
1155
; VLOPT-LABEL: vwmul_vx:
1156
1156
; VLOPT: # %bb.0:
1157
-
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
1157
+
; VLOPT-NEXT: vsetvli zero, a2, e16, m1, ta, ma
1158
1158
; VLOPT-NEXT: vwmul.vx v12, v8, a0
1159
-
; VLOPT-NEXT: vsetvli zero, zero, e64, m4, ta, ma
1160
-
; VLOPT-NEXT: vadd.vv v8, v12, v12
1159
+
; VLOPT-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1160
+
; VLOPT-NEXT: vwmul.vx v8, v12, a1
1161
1161
; VLOPT-NEXT: ret
1162
-
%1 = call <vscale x 4 x i64> @llvm.riscv.vwmul.nxv4i64.nxv4i32.i32(<vscale x 4 x i64> poison, <vscale x 4 x i32> %a, i32%b, iXLen -1)
1163
-
%2 = call <vscale x 4 x i64> @llvm.riscv.vadd.nxv4i64.nxv4i64(<vscale x 4 x i64> poison, <vscale x 4 x i64> %1, <vscale x 4 x i64> %1, iXLen %vl)
1162
+
%1 = call <vscale x 4 x i32> @llvm.riscv.vwmul.nxv4i32.nxv4i16.i16(<vscale x 4 x i32> poison, <vscale x 4 x i16> %a, i16%b, iXLen -1)
1163
+
%2 = call <vscale x 4 x i64> @llvm.riscv.vwmul.nxv4i64.nxv4i64.i32(<vscale x 4 x i64> poison, <vscale x 4 x i32> %1, i32%c, iXLen %vl)
0 commit comments