@@ -1858,18 +1858,17 @@ define <8 x float> @buildvec_vfredusum_slideup_leading_undef(float %start, <8 x
1858
1858
; CHECK-LABEL: buildvec_vfredusum_slideup_leading_undef:
1859
1859
; CHECK: # %bb.0:
1860
1860
; 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
1873
1872
; CHECK-NEXT: ret
1874
1873
%252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
1875
1874
%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
1887
1886
; CHECK: # %bb.0:
1888
1887
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
1889
1888
; CHECK-NEXT: vfmv.s.f v16, fa0
1890
- ; CHECK-NEXT: vfredusum.vs v9 , v8, v16
1889
+ ; CHECK-NEXT: vfredusum.vs v8 , v8, v16
1891
1890
; 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
1900
1897
; CHECK-NEXT: ret
1901
1898
%252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
1902
1899
%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
1941
1938
; CHECK: # %bb.0:
1942
1939
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
1943
1940
; CHECK-NEXT: vfmv.s.f v16, fa0
1944
- ; CHECK-NEXT: vfredusum.vs v9 , v8, v16
1941
+ ; CHECK-NEXT: vfredusum.vs v8 , v8, v16
1945
1942
; 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
1955
1952
; CHECK-NEXT: ret
1956
1953
%252 = tail call reassoc float @llvm.vector.reduce.fadd.v8f32 (float %start , <8 x float > %arg1 )
1957
1954
%253 = insertelement <8 x float > poison, float %252 , i64 0
0 commit comments