Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

Cyclone V NEON

Hello all,

There is a simple example with GCC settings for NEON?

This simple program

#include <arm_neon.h> //need to include this ifyou want to use intrinsics
int main(){
    uint8x8_t vector;
    return 0;
}

Using

-mfpu=neon -ftree-vectorize

GCC options give me errors:

'Invoking: GCC C Compiler'arm-linux-gnueabihf-gcc -O0 -g3 -Wall -mfpu=neon -ftree-vectorize -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
'Finished building: ../main.c'
' '
'Building target: HelloARM'
'Invoking: GCC C Linker'
arm-linux-gnueabihf-gcc  -o "HelloARM"  ./main.o   
./main.o: In function `_fini':
:(.fini+0x0): multiple definition of `_fini'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crti.o:(.fini+0x0): first defined here
./main.o: In function `__data_start':
:(.data+0x0): multiple definition of `__data_start'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.data+0x0): first defined here
./main.o: In function `__data_start':
:(.data+0x4): multiple definition of `__dso_handle'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/crtbegin.o:(.data+0x0): first defined here
./main.o:(.rodata+0x0): multiple definition of `_IO_stdin_used'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.rodata.cst4+0x0): first defined here
./main.o: In function `_start':
:(.text+0x0): multiple definition of `_start'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.text+0x0): first defined here
./main.o: In function `_init':
:(.init+0x0): multiple definition of `_init'
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crti.o:(.init+0x0): first defined here
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/crtend.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__'
./main.o::(.data+0x8): first defined here
c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld.exe: ./main.o: access beyond end of merged section (33788)
collect2.exe: error: ld returned 1 exit status
make: ***  Error 1

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    When I insert "#include <arm_neon.h>" to HelloWorldLinux source hello.c, then arm-linux-gnueabihf-gcc (4.8.3) makes "#error" about using compiler switches "-mfloat-abi=softfp -mfpu=neon".

    These both swithes is ambiguous and cause another error, must be used only second "-mfpu=neon".