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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/12/2020 15:53, Richard Earnshaw wrote:

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)?
arm-rtems6-gcc -v
Using built-in specs.
COLLECT_GCC=arm-rtems6-gcc
COLLECT_LTO_WRAPPER=/opt/rtems/6/libexec/gcc/arm-rtems6/10.2.1/lto-wrapper
Target: arm-rtems6
Configured with: ../gnu-mirror-gcc-4fa2ab6/configure --prefix=/opt/rtems/6 --bindir=/opt/rtems/6/bin --exec_prefix=/opt/rtems/6 --includedir=/opt/rtems/6/include --libdir=/opt/rtems/6/lib --libexecdir=/opt/rtems/6/libexec --mandir=/opt/rtems/6/share/man --infodir=/opt/rtems/6/share/info --datadir=/opt/rtems/6/share --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-rtems6 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --disable-lto --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-newlib-iconv-encodings=big5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs_2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le,utf_8,win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1257,win_1258 --enable-threads --disable-plugin --enable-libgomp --enable-languages=c,c++,ada
Thread model: rtems
Supported LTO compression algorithms: zlib

gcc version 10.2.1 20201203 (RTEMS 6, RSB 9ef9956f600dcce0ec9cf06820adf47203e22dc3, Newlib 7fa8405) (GCC)

The only relevant option is probably " --target=arm-rtems6".

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber@xxxxxxxxxxxxxxxxxx
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux