FFTW / fftw3

DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
GNU General Public License v2.0
2.72k stars 661 forks source link

enable-r5v can't be using in riscv #311

Open JustToEnjoy opened 1 year ago

JustToEnjoy commented 1 year ago

1, I fetch branch https://github.com/rdolbeau/fftw3/tree/riscv-v-clean, and build it using C906 toolchain, but it will happen error when I --enable-r5v, Have you encountered this problem? If I remove --enable-r5v, it can build pass.

r5v.c:28:12: warning: implicit declaration of function 'builtin_epi_vsetvl'; did you mean 'builtin_iceil'? [-Wimplicit-function-declaration] 28 | return builtin_epi_vsetvl(rs/64, epi_e64, epi_m1) >= (rs/64); | ^~~~~~~~ | __builtin_iceilr5v.c:28:12: warning: nested extern declaration of 'builtin_epi_vsetvl' [-Wnested-externs]r5v.c:28:40: error: 'epi_e64' undeclared (first use in this function) 28 | return builtin_epi_vsetvl(rs/64, epi_e64, epi_m1) >= (rs/64); | ^~~r5v.c:28:40: note: each undeclared identifier is reported only once for each function it appears inr5v.c:28:51: error: 'epi_m1' undeclared (first use in this function) 28 | return builtin_epi_vsetvl(rs/64, epi_e64, epi_m1) >= (rs/64); | ^~r5v.c:29:3: warning: control reaches end of non-void function [-Wreturn-type] 29 | }

2,I remove --enable-r5v, it can build pass, but it can't work. If I call any fftw API(for example, fftw_plan_dft_1d), the program will get stuck. No any error been print.

These two problems make me so consufed.

rdolbeau commented 1 year ago

With --enable-r5v I answered in #279

Without, the code should work in scalar mode as on any platform. can you identify where it hangs with e.g. gdb? What platform are you using?