projectNe10 / Ne10

An open optimized software library project for the ARM® Architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NE10_fft_generic_float32.neonintrisic.cpp not building for GCC 4.7.1

mukulchandail opened this issue · comments

Hi,

I'm trying to cross-compile for a specific linux-arm platform using arm-openwrt-linux-uclibcgnueab toolchain with gcc version 4.7.1.

On my first compile I get the following error:

-bash-4.1$ cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake ..
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- The ASM compiler identification is GNU
-- Found assembler: arm-openwrt-linux-uclibcgnueabi-as
-- Check for working C compiler: arm-openwrt-linux-uclibcgnueabi-gcc
-- Check for working C compiler: arm-openwrt-linux-uclibcgnueabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: arm-openwrt-linux-uclibcgnueabi-g++
-- Check for working CXX compiler: arm-openwrt-linux-uclibcgnueabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Target architecture: armv7
-- Building type: RELEASE
-- Configuring done
-- Generating done
-- Build files have been written to: users/mc/Ne10/build
-bash-4.1$ make
Scanning dependencies of target NE10
[  1%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o
[  2%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addc.c.o
[  3%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_add.c.o
[  4%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_divc.c.o
[  5%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_div.c.o
[  6%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_len.c.o
[  7%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mlac.c.o
[  8%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mla.c.o
[  9%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulc.c.o
[ 10%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mul.c.o
[ 11%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_normalize.c.o
[ 13%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_rsbc.c.o
[ 14%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_setc.c.o
[ 15%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_subc.c.o
[ 16%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_sub.c.o
[ 17%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_dot.c.o
[ 18%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_cross.c.o
[ 19%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addmat.c.o
[ 20%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_submat.c.o
[ 21%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulmat.c.o
[ 22%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulcmatvec.c.o
[ 23%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_detmat.c.o
[ 25%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_invmat.c.o
[ 26%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_transmat.c.o
[ 27%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_identitymat.c.o
[ 28%] Building C object modules/CMakeFiles/NE10.dir/__/common/NE10_mask_table.c.o
[ 29%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft.c.o
[ 30%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.c.o
[ 31%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.c.o
[ 32%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_int32.cpp.o
[ 33%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_rfft_float32.c.o
[ 34%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.c.o
[ 35%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.c.o
[ 36%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir.c.o
[ 38%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fir_init.c.o
[ 39%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir.c.o
[ 40%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_iir_init.c.o
[ 41%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_resize.c.o
[ 42%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_rotate.c.o
[ 43%] Building C object modules/CMakeFiles/NE10.dir/imgproc/NE10_boxfilter.c.o
[ 44%] Building C object modules/CMakeFiles/NE10.dir/physics/NE10_physics.c.o
[ 45%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addc.neon.c.o
[ 46%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_divc.neon.c.o
[ 47%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mlac.neon.c.o
[ 48%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_mulc.neon.c.o
[ 50%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_rsbc.neon.c.o
[ 51%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_setc.neon.c.o
[ 52%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_subc.neon.c.o
[ 53%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_addmat.neon.c.o
[ 54%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_submat.neon.c.o
[ 55%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_float32.neon.c.o
[ 56%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int32.neon.c.o
[ 57%] Building C object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_int16.neon.c.o
[ 58%] Building CXX object modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.neonintrinsic.cpp.o
/users/mc/Ne10/modules/dsp/NE10_fft_generic_float32.neonintrinsic.cpp: In function 'void NE10_LOAD_TW_AND_MUL(CPLX&, const ne10_fft_cpx_float32_t*)':
/users/mc/Ne10/modules/dsp/NE10_fft_generic_float32.neonintrinsic.cpp:70:57: error: invalid types 'float32x2_t {aka __vector(2) __builtin_neon_sf}[int]' for array subscript
/users/mc/Ne10/modules/dsp/NE10_fft_generic_float32.neonintrinsic.cpp:71:57: error: invalid types 'float32x2_t {aka __vector(2) __builtin_neon_sf}[int]' for array subscript
make[2]: *** [modules/CMakeFiles/NE10.dir/dsp/NE10_fft_generic_float32.neonintrinsic.cpp.o] Error 1
make[1]: *** [modules/CMakeFiles/NE10.dir/all] Error 2
make: *** [all] Error 2

I saw a similar issue mentioned in this link

However, due to certain restrictions, I have to use the gcc 4.7.1 and can't upgrade to 4.8 or 4.9.

Please advise.