Why does GCC drop "+simd" for the assembler if compiling for Armv8-A or Armv8-R?

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Wed Dec 9 14:53:40 GMT 2020


On 03/12/2020 12:25, Sebastian Huber wrote:
> Hello,
> 
> I have a problem that assembler files assembled by GCC issue errors due
> to incomplete architecture and FPU options which should be provided by
> the assembler command line and not as directives in the file. For example:
> 
> arm-rtems6-gcc -save-temps -c test.c -mthumb -march=armv8-a+crc+simd
> -mfloat-abi=hard -wrapper echo
> /tmp/sh/rtems/6/lib/gcc/arm-rtems6/10.2.1/cc1 -E -quiet
> -D__USES_INITFINI__ test.c -mthumb -mfloat-abi=hard
> -march=armv8-a+crc+simd -fpch-preprocess -o test.i
> /tmp/sh/rtems/6/lib/gcc/arm-rtems6/10.2.1/cc1 -fpreprocessed test.i
> -quiet -dumpbase test.c -mthumb -mfloat-abi=hard -march=armv8-a+crc+simd
> -auxbase test -o test.s
> /tmp/sh/rtems/6/lib64/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/as -march=armv8-a+crc
> -mfloat-abi=hard -meabi=5 -o test.o test.s
> 
> arm-rtems6-gcc -save-temps -c test.c -mthumb -march=armv8-r+crc+simd
> -mfloat-abi=hard -wrapper echo
> /tmp/sh/rtems/6/lib/gcc/arm-rtems6/10.2.1/cc1 -E -quiet
> -D__USES_INITFINI__ test.c -mthumb -mfloat-abi=hard
> -march=armv8-r+crc+simd -fpch-preprocess -o test.i
> /tmp/sh/rtems/6/lib/gcc/arm-rtems6/10.2.1/cc1 -fpreprocessed test.i
> -quiet -dumpbase test.c -mthumb -mfloat-abi=hard -march=armv8-r+crc+simd
> -auxbase test -o test.s
> /tmp/sh/rtems/6/lib64/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/as -march=armv8-r+crc
> -mfloat-abi=hard -meabi=5 -o test.o test.s
> 
> The assembler is called without the "+simd". In Armv7-A and Armv7-R the
> FPU was selected by -mfpu options.
> 

How is your compiler configured (output of gcc -v)?

R.


More information about the Gcc-help mailing list