@@ -1858,18 +1858,17 @@ define <8 x float> @buildvec_vfredusum_slideup_leading_undef(float %start, <8 x
18581858; CHECK-LABEL: buildvec_vfredusum_slideup_leading_undef:
18591859; CHECK: # %bb.0:
18601860; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
1861- ; CHECK-NEXT: vfmv.s.f v16, fa0
1862- ; CHECK-NEXT: vfredusum.vs v9, v8, v16
1863- ; CHECK-NEXT: vfredusum.vs v10, v10, v16
1864- ; CHECK-NEXT: vfredusum.vs v11, v12, v16
1865- ; CHECK-NEXT: vfredusum.vs v8, v14, v16
1866- ; CHECK-NEXT: vfmv.f.s fa5, v9
1867- ; CHECK-NEXT: vfmv.f.s fa4, v10
1868- ; CHECK-NEXT: vfmv.f.s fa3, v11
1869- ; CHECK-NEXT: vfslide1up.vf v10, v8, fa3
1870- ; CHECK-NEXT: vfslide1up.vf v8, v10, fa4
1871- ; CHECK-NEXT: vfslide1up.vf v10, v8, fa5
1872- ; CHECK-NEXT: vslideup.vi v8, v10, 4
1861+ ; CHECK-NEXT: vfmv.s.f v17, fa0
1862+ ; CHECK-NEXT: vfredusum.vs v16, v8, v17
1863+ ; CHECK-NEXT: vfredusum.vs v8, v10, v17
1864+ ; CHECK-NEXT: vfredusum.vs v10, v12, v17
1865+ ; CHECK-NEXT: vfredusum.vs v12, v14, v17
1866+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1867+ ; CHECK-NEXT: vslideup.vi v10, v12, 1
1868+ ; CHECK-NEXT: vslideup.vi v8, v10, 1
1869+ ; CHECK-NEXT: vslideup.vi v16, v8, 1
1870+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1871+ ; CHECK-NEXT: vslideup.vi v8, v16, 4
18731872; CHECK-NEXT: ret
18741873 %252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
18751874 %253 = insertelement <8 x float > poison, float %252 , i64 4
@@ -1887,16 +1886,14 @@ define <8 x float> @buildvec_vfredusum_slideup_trailing_undef(float %start, <8 x
18871886; CHECK: # %bb.0:
18881887; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
18891888; CHECK-NEXT: vfmv.s.f v16, fa0
1890- ; CHECK-NEXT: vfredusum.vs v9 , v8, v16
1889+ ; CHECK-NEXT: vfredusum.vs v8 , v8, v16
18911890; CHECK-NEXT: vfredusum.vs v10, v10, v16
1892- ; CHECK-NEXT: vfredusum.vs v11, v12, v16
1893- ; CHECK-NEXT: vfredusum.vs v8, v14, v16
1894- ; CHECK-NEXT: vfmv.f.s fa5, v9
1895- ; CHECK-NEXT: vfmv.f.s fa4, v10
1896- ; CHECK-NEXT: vfmv.f.s fa3, v11
1897- ; CHECK-NEXT: vfslide1up.vf v10, v8, fa3
1898- ; CHECK-NEXT: vfslide1up.vf v12, v10, fa4
1899- ; CHECK-NEXT: vfslide1up.vf v8, v12, fa5
1891+ ; CHECK-NEXT: vfredusum.vs v12, v12, v16
1892+ ; CHECK-NEXT: vfredusum.vs v14, v14, v16
1893+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1894+ ; CHECK-NEXT: vslideup.vi v12, v14, 1
1895+ ; CHECK-NEXT: vslideup.vi v10, v12, 1
1896+ ; CHECK-NEXT: vslideup.vi v8, v10, 1
19001897; CHECK-NEXT: ret
19011898 %252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
19021899 %253 = insertelement <8 x float > poison, float %252 , i64 0
@@ -1941,17 +1938,17 @@ define <8 x float> @buildvec_vfredusum_slideup_mid_undef(float %start, <8 x floa
19411938; CHECK: # %bb.0:
19421939; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
19431940; CHECK-NEXT: vfmv.s.f v16, fa0
1944- ; CHECK-NEXT: vfredusum.vs v9 , v8, v16
1941+ ; CHECK-NEXT: vfredusum.vs v8 , v8, v16
19451942; CHECK-NEXT: vfredusum.vs v10, v10, v16
1946- ; CHECK-NEXT: vfredusum.vs v11 , v12, v16
1947- ; CHECK-NEXT: vfredusum.vs v8 , v14, v16
1948- ; CHECK-NEXT: vfmv.f.s fa5, v9
1949- ; CHECK-NEXT: vfmv.f.s fa4, v10
1950- ; CHECK-NEXT: vfmv.f.s fa3, v11
1951- ; CHECK-NEXT: vfslide1up.vf v10, v8, fa3
1952- ; CHECK-NEXT: vslideup.vi v8, v10, 4
1953- ; CHECK-NEXT: vfslide1up.vf v10, v8, fa4
1954- ; CHECK-NEXT: vfslide1up.vf v8, v10, fa5
1943+ ; CHECK-NEXT: vfredusum.vs v12 , v12, v16
1944+ ; CHECK-NEXT: vfredusum.vs v14 , v14, v16
1945+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1946+ ; CHECK-NEXT: vslideup.vi v12, v14, 1
1947+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1948+ ; CHECK-NEXT: vslideup.vi v14, v12, 4
1949+ ; CHECK-NEXT: vsetvli zero, zero, e32, m2, tu, ma
1950+ ; CHECK-NEXT: vslideup.vi v10, v14, 1
1951+ ; CHECK-NEXT: vslideup.vi v8, v10, 1
19551952; CHECK-NEXT: ret
19561953 %252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
19571954 %253 = insertelement <8 x float > poison, float %252 , i64 0
0 commit comments