Skip to content

Commit daecbbf

Browse files
committed
Extend the support of VLEN to 65536
1. Extend the support of VLEN to 65536. The data type in struct tw_instr of kernel/ifftw.h should be extended synchronously, to support longer integer. 2. Include vtw.h for VTW1, VTW2, and VTWS, to be compatible with the coding style of ARM SVE. Although the vtw.h is auto-generated in the version of ARM SVE, for the integrity and correctness, the vtw.h will be submitted in this version.
1 parent cbf34e4 commit daecbbf

File tree

31 files changed

+5654
-164
lines changed

31 files changed

+5654
-164
lines changed

Makefile.am

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,19 @@ rdft/simd/rvv256/librdft_rvv256_codelets.la \
112112
dft/simd/rvv512/libdft_rvv512_codelets.la \
113113
rdft/simd/rvv512/librdft_rvv512_codelets.la \
114114
dft/simd/rvv1024/libdft_rvv1024_codelets.la \
115-
rdft/simd/rvv1024/librdft_rvv1024_codelets.la
115+
rdft/simd/rvv1024/librdft_rvv1024_codelets.la \
116+
dft/simd/rvv2048/libdft_rvv2048_codelets.la \
117+
rdft/simd/rvv2048/librdft_rvv2048_codelets.la \
118+
dft/simd/rvv4096/libdft_rvv4096_codelets.la \
119+
rdft/simd/rvv4096/librdft_rvv4096_codelets.la \
120+
dft/simd/rvv8192/libdft_rvv8192_codelets.la \
121+
rdft/simd/rvv8192/librdft_rvv8192_codelets.la \
122+
dft/simd/rvv16384/libdft_rvv16384_codelets.la \
123+
rdft/simd/rvv16384/librdft_rvv16384_codelets.la \
124+
dft/simd/rvv32768/libdft_rvv32768_codelets.la \
125+
rdft/simd/rvv32768/librdft_rvv32768_codelets.la \
126+
dft/simd/rvv65536/libdft_rvv65536_codelets.la \
127+
rdft/simd/rvv65536/librdft_rvv65536_codelets.la
116128
endif
117129

118130
if THREADS

api/version.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ const char X(version)[] = PACKAGE "-" PACKAGE_VERSION
8585
"-generic_simd256"
8686
#endif
8787

88-
#if defined(HAVE_R5V)
88+
#if defined(HAVE_RVV)
8989
"-rvv"
9090
#endif
9191

configure.ac

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,12 @@ AC_CONFIG_FILES([
780780
dft/simd/rvv256/Makefile
781781
dft/simd/rvv512/Makefile
782782
dft/simd/rvv1024/Makefile
783+
dft/simd/rvv2048/Makefile
784+
dft/simd/rvv4096/Makefile
785+
dft/simd/rvv8192/Makefile
786+
dft/simd/rvv16384/Makefile
787+
dft/simd/rvv32768/Makefile
788+
dft/simd/rvv65536/Makefile
783789
784790
rdft/Makefile
785791
rdft/scalar/Makefile
@@ -804,6 +810,12 @@ AC_CONFIG_FILES([
804810
rdft/simd/rvv256/Makefile
805811
rdft/simd/rvv512/Makefile
806812
rdft/simd/rvv1024/Makefile
813+
rdft/simd/rvv2048/Makefile
814+
rdft/simd/rvv4096/Makefile
815+
rdft/simd/rvv8192/Makefile
816+
rdft/simd/rvv16384/Makefile
817+
rdft/simd/rvv32768/Makefile
818+
rdft/simd/rvv65536/Makefile
807819
808820
reodft/Makefile
809821

dft/codelet-dft.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,5 +112,11 @@ extern const solvtab X(solvtab_dft_rvv128);
112112
extern const solvtab X(solvtab_dft_rvv256);
113113
extern const solvtab X(solvtab_dft_rvv512);
114114
extern const solvtab X(solvtab_dft_rvv1024);
115+
extern const solvtab X(solvtab_dft_rvv2048);
116+
extern const solvtab X(solvtab_dft_rvv4096);
117+
extern const solvtab X(solvtab_dft_rvv8192);
118+
extern const solvtab X(solvtab_dft_rvv16384);
119+
extern const solvtab X(solvtab_dft_rvv32768);
120+
extern const solvtab X(solvtab_dft_rvv65536);
115121

116122
#endif /* __DFT_CODELET_H__ */

dft/conf.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,17 @@ void X(dft_conf_standard)(planner *p)
9595
X(solvtab_exec)(X(solvtab_dft_rvv512), p);
9696
if (X(have_simd_rvv)(1024))
9797
X(solvtab_exec)(X(solvtab_dft_rvv1024), p);
98+
if (X(have_simd_rvv)(2048))
99+
X(solvtab_exec)(X(solvtab_dft_rvv2048), p);
100+
if (X(have_simd_rvv)(4096))
101+
X(solvtab_exec)(X(solvtab_dft_rvv4096), p);
102+
if (X(have_simd_rvv)(8192))
103+
X(solvtab_exec)(X(solvtab_dft_rvv8192), p);
104+
if (X(have_simd_rvv)(16384))
105+
X(solvtab_exec)(X(solvtab_dft_rvv16384), p);
106+
if (X(have_simd_rvv)(32768))
107+
X(solvtab_exec)(X(solvtab_dft_rvv32768), p);
108+
if (X(have_simd_rvv)(65536))
109+
X(solvtab_exec)(X(solvtab_dft_rvv65536), p);
98110
#endif
99111
}

dft/simd/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
AM_CPPFLAGS = -I $(top_srcdir)
2-
SUBDIRS = common sse2 avx avx-128-fma avx2 avx2-128 avx512 kcvi altivec vsx neon generic-simd128 generic-simd256 rvv128 rvv256 rvv512 rvv1024
2+
SUBDIRS = common sse2 avx avx-128-fma avx2 avx2-128 avx512 kcvi altivec vsx neon generic-simd128 generic-simd256 rvv128 rvv256 rvv512 rvv1024 rvv2048 rvv4096 rvv8192 rvv16384 rvv32768 rvv65536
33
EXTRA_DIST = n1b.h n1f.h n2b.h n2f.h n2s.h q1b.h q1f.h t1b.h t1bu.h \
44
t1f.h t1fu.h t2b.h t2f.h t3b.h t3f.h ts.h codlist.mk simd.mk

dft/simd/rvv16384/Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SIMD_HEADER=simd-support/simd-rvv16384.h
2+
3+
include $(top_srcdir)/dft/simd/codlist.mk
4+
include $(top_srcdir)/dft/simd/simd.mk
5+
6+
if HAVE_RVV
7+
8+
BUILT_SOURCES = $(EXTRA_DIST)
9+
noinst_LTLIBRARIES = libdft_rvv16384_codelets.la
10+
libdft_rvv16384_codelets_la_SOURCES = $(BUILT_SOURCES)
11+
12+
endif

dft/simd/rvv2048/Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SIMD_HEADER=simd-support/simd-rvv2048.h
2+
3+
include $(top_srcdir)/dft/simd/codlist.mk
4+
include $(top_srcdir)/dft/simd/simd.mk
5+
6+
if HAVE_RVV
7+
8+
BUILT_SOURCES = $(EXTRA_DIST)
9+
noinst_LTLIBRARIES = libdft_rvv2048_codelets.la
10+
libdft_rvv2048_codelets_la_SOURCES = $(BUILT_SOURCES)
11+
12+
endif

dft/simd/rvv32768/Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SIMD_HEADER=simd-support/simd-rvv32768.h
2+
3+
include $(top_srcdir)/dft/simd/codlist.mk
4+
include $(top_srcdir)/dft/simd/simd.mk
5+
6+
if HAVE_RVV
7+
8+
BUILT_SOURCES = $(EXTRA_DIST)
9+
noinst_LTLIBRARIES = libdft_rvv32768_codelets.la
10+
libdft_rvv32768_codelets_la_SOURCES = $(BUILT_SOURCES)
11+
12+
endif

dft/simd/rvv4096/Makefile.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
SIMD_HEADER=simd-support/simd-rvv4096.h
2+
3+
include $(top_srcdir)/dft/simd/codlist.mk
4+
include $(top_srcdir)/dft/simd/simd.mk
5+
6+
if HAVE_RVV
7+
8+
BUILT_SOURCES = $(EXTRA_DIST)
9+
noinst_LTLIBRARIES = libdft_rvv4096_codelets.la
10+
libdft_rvv4096_codelets_la_SOURCES = $(BUILT_SOURCES)
11+
12+
endif

0 commit comments

Comments
 (0)