@@ -1638,9 +1638,8 @@ define <vscale x 1 x i64> @vmadd_vx_nxv1i64(<vscale x 1 x i64> %a, i64 %b, <vsca
16381638; RV32-NEXT: sw a0, 8(sp)
16391639; RV32-NEXT: sw a1, 12(sp)
16401640; RV32-NEXT: addi a0, sp, 8
1641- ; RV32-NEXT: vsetvli a1, zero, e64, m1, ta, ma
1642- ; RV32-NEXT: vlse64.v v10, (a0), zero
16431641; RV32-NEXT: vsetvli zero, a2, e64, m1, ta, ma
1642+ ; RV32-NEXT: vlse64.v v10, (a0), zero
16441643; RV32-NEXT: vmadd.vv v10, v8, v9
16451644; RV32-NEXT: vsetvli zero, zero, e64, m1, tu, ma
16461645; RV32-NEXT: vmerge.vvm v8, v8, v10, v0
@@ -1669,9 +1668,8 @@ define <vscale x 1 x i64> @vmadd_vx_nxv1i64_unmasked(<vscale x 1 x i64> %a, i64
16691668; RV32-NEXT: sw a0, 8(sp)
16701669; RV32-NEXT: sw a1, 12(sp)
16711670; RV32-NEXT: addi a0, sp, 8
1672- ; RV32-NEXT: vsetvli a1, zero, e64, m1, ta, ma
1673- ; RV32-NEXT: vlse64.v v10, (a0), zero
16741671; RV32-NEXT: vsetvli zero, a2, e64, m1, ta, ma
1672+ ; RV32-NEXT: vlse64.v v10, (a0), zero
16751673; RV32-NEXT: vmadd.vv v10, v8, v9
16761674; RV32-NEXT: vsetvli zero, zero, e64, m1, tu, ma
16771675; RV32-NEXT: vmv.v.v v8, v10
@@ -1713,9 +1711,8 @@ define <vscale x 1 x i64> @vmadd_vx_nxv1i64_ta(<vscale x 1 x i64> %a, i64 %b, <v
17131711; RV32-NEXT: sw a0, 8(sp)
17141712; RV32-NEXT: sw a1, 12(sp)
17151713; RV32-NEXT: addi a0, sp, 8
1716- ; RV32-NEXT: vsetvli a1, zero, e64, m1, ta, ma
1717- ; RV32-NEXT: vlse64.v v10, (a0), zero
17181714; RV32-NEXT: vsetvli zero, a2, e64, m1, ta, ma
1715+ ; RV32-NEXT: vlse64.v v10, (a0), zero
17191716; RV32-NEXT: vmadd.vv v10, v8, v9
17201717; RV32-NEXT: vmerge.vvm v8, v8, v10, v0
17211718; RV32-NEXT: addi sp, sp, 16
@@ -1776,9 +1773,8 @@ define <vscale x 2 x i64> @vmadd_vx_nxv2i64(<vscale x 2 x i64> %a, i64 %b, <vsca
17761773; RV32-NEXT: sw a0, 8(sp)
17771774; RV32-NEXT: sw a1, 12(sp)
17781775; RV32-NEXT: addi a0, sp, 8
1779- ; RV32-NEXT: vsetvli a1, zero, e64, m2, ta, ma
1780- ; RV32-NEXT: vlse64.v v12, (a0), zero
17811776; RV32-NEXT: vsetvli zero, a2, e64, m2, ta, ma
1777+ ; RV32-NEXT: vlse64.v v12, (a0), zero
17821778; RV32-NEXT: vmadd.vv v12, v8, v10
17831779; RV32-NEXT: vsetvli zero, zero, e64, m2, tu, ma
17841780; RV32-NEXT: vmerge.vvm v8, v8, v12, v0
@@ -1807,9 +1803,8 @@ define <vscale x 2 x i64> @vmadd_vx_nxv2i64_unmasked(<vscale x 2 x i64> %a, i64
18071803; RV32-NEXT: sw a0, 8(sp)
18081804; RV32-NEXT: sw a1, 12(sp)
18091805; RV32-NEXT: addi a0, sp, 8
1810- ; RV32-NEXT: vsetvli a1, zero, e64, m2, ta, ma
1811- ; RV32-NEXT: vlse64.v v12, (a0), zero
18121806; RV32-NEXT: vsetvli zero, a2, e64, m2, ta, ma
1807+ ; RV32-NEXT: vlse64.v v12, (a0), zero
18131808; RV32-NEXT: vmadd.vv v12, v8, v10
18141809; RV32-NEXT: vsetvli zero, zero, e64, m2, tu, ma
18151810; RV32-NEXT: vmv.v.v v8, v12
@@ -1851,9 +1846,8 @@ define <vscale x 2 x i64> @vmadd_vx_nxv2i64_ta(<vscale x 2 x i64> %a, i64 %b, <v
18511846; RV32-NEXT: sw a0, 8(sp)
18521847; RV32-NEXT: sw a1, 12(sp)
18531848; RV32-NEXT: addi a0, sp, 8
1854- ; RV32-NEXT: vsetvli a1, zero, e64, m2, ta, ma
1855- ; RV32-NEXT: vlse64.v v12, (a0), zero
18561849; RV32-NEXT: vsetvli zero, a2, e64, m2, ta, ma
1850+ ; RV32-NEXT: vlse64.v v12, (a0), zero
18571851; RV32-NEXT: vmadd.vv v12, v8, v10
18581852; RV32-NEXT: vmerge.vvm v8, v8, v12, v0
18591853; RV32-NEXT: addi sp, sp, 16
@@ -1914,9 +1908,8 @@ define <vscale x 4 x i64> @vmadd_vx_nxv4i64(<vscale x 4 x i64> %a, i64 %b, <vsca
19141908; RV32-NEXT: sw a0, 8(sp)
19151909; RV32-NEXT: sw a1, 12(sp)
19161910; RV32-NEXT: addi a0, sp, 8
1917- ; RV32-NEXT: vsetvli a1, zero, e64, m4, ta, ma
1918- ; RV32-NEXT: vlse64.v v16, (a0), zero
19191911; RV32-NEXT: vsetvli zero, a2, e64, m4, ta, ma
1912+ ; RV32-NEXT: vlse64.v v16, (a0), zero
19201913; RV32-NEXT: vmadd.vv v16, v8, v12
19211914; RV32-NEXT: vsetvli zero, zero, e64, m4, tu, ma
19221915; RV32-NEXT: vmerge.vvm v8, v8, v16, v0
@@ -1945,9 +1938,8 @@ define <vscale x 4 x i64> @vmadd_vx_nxv4i64_unmasked(<vscale x 4 x i64> %a, i64
19451938; RV32-NEXT: sw a0, 8(sp)
19461939; RV32-NEXT: sw a1, 12(sp)
19471940; RV32-NEXT: addi a0, sp, 8
1948- ; RV32-NEXT: vsetvli a1, zero, e64, m4, ta, ma
1949- ; RV32-NEXT: vlse64.v v16, (a0), zero
19501941; RV32-NEXT: vsetvli zero, a2, e64, m4, ta, ma
1942+ ; RV32-NEXT: vlse64.v v16, (a0), zero
19511943; RV32-NEXT: vmadd.vv v16, v8, v12
19521944; RV32-NEXT: vsetvli zero, zero, e64, m4, tu, ma
19531945; RV32-NEXT: vmv.v.v v8, v16
@@ -1989,9 +1981,8 @@ define <vscale x 4 x i64> @vmadd_vx_nxv4i64_ta(<vscale x 4 x i64> %a, i64 %b, <v
19891981; RV32-NEXT: sw a0, 8(sp)
19901982; RV32-NEXT: sw a1, 12(sp)
19911983; RV32-NEXT: addi a0, sp, 8
1992- ; RV32-NEXT: vsetvli a1, zero, e64, m4, ta, ma
1993- ; RV32-NEXT: vlse64.v v16, (a0), zero
19941984; RV32-NEXT: vsetvli zero, a2, e64, m4, ta, ma
1985+ ; RV32-NEXT: vlse64.v v16, (a0), zero
19951986; RV32-NEXT: vmadd.vv v16, v8, v12
19961987; RV32-NEXT: vmerge.vvm v8, v8, v16, v0
19971988; RV32-NEXT: addi sp, sp, 16
@@ -2054,9 +2045,8 @@ define <vscale x 8 x i64> @vmadd_vx_nxv8i64(<vscale x 8 x i64> %a, i64 %b, <vsca
20542045; RV32-NEXT: sw a0, 8(sp)
20552046; RV32-NEXT: sw a1, 12(sp)
20562047; RV32-NEXT: addi a0, sp, 8
2057- ; RV32-NEXT: vsetvli a1, zero, e64, m8, ta, ma
2058- ; RV32-NEXT: vlse64.v v24, (a0), zero
20592048; RV32-NEXT: vsetvli zero, a2, e64, m8, ta, ma
2049+ ; RV32-NEXT: vlse64.v v24, (a0), zero
20602050; RV32-NEXT: vmadd.vv v24, v8, v16
20612051; RV32-NEXT: vsetvli zero, zero, e64, m8, tu, ma
20622052; RV32-NEXT: vmerge.vvm v8, v8, v24, v0
@@ -2085,9 +2075,8 @@ define <vscale x 8 x i64> @vmadd_vx_nxv8i64_unmasked(<vscale x 8 x i64> %a, i64
20852075; RV32-NEXT: sw a0, 8(sp)
20862076; RV32-NEXT: sw a1, 12(sp)
20872077; RV32-NEXT: addi a0, sp, 8
2088- ; RV32-NEXT: vsetvli a1, zero, e64, m8, ta, ma
2089- ; RV32-NEXT: vlse64.v v24, (a0), zero
20902078; RV32-NEXT: vsetvli zero, a2, e64, m8, ta, ma
2079+ ; RV32-NEXT: vlse64.v v24, (a0), zero
20912080; RV32-NEXT: vmadd.vv v24, v8, v16
20922081; RV32-NEXT: vsetvli zero, zero, e64, m8, tu, ma
20932082; RV32-NEXT: vmv.v.v v8, v24
@@ -2130,9 +2119,8 @@ define <vscale x 8 x i64> @vmadd_vx_nxv8i64_ta(<vscale x 8 x i64> %a, i64 %b, <v
21302119; RV32-NEXT: sw a0, 8(sp)
21312120; RV32-NEXT: sw a1, 12(sp)
21322121; RV32-NEXT: addi a0, sp, 8
2133- ; RV32-NEXT: vsetvli a1, zero, e64, m8, ta, ma
2134- ; RV32-NEXT: vlse64.v v24, (a0), zero
21352122; RV32-NEXT: vsetvli zero, a2, e64, m8, ta, ma
2123+ ; RV32-NEXT: vlse64.v v24, (a0), zero
21362124; RV32-NEXT: vmadd.vv v24, v8, v16
21372125; RV32-NEXT: vmerge.vvm v8, v8, v24, v0
21382126; RV32-NEXT: addi sp, sp, 16
0 commit comments