-mgeneral-regs-only is how you turn off SIMD usage. But Note it also turns off floating point too. I don't know why you want to turn off the SIMD usage because all ARMv8-a platforms have it and it is not optional for -a processors.
That slide is about AARCH32 (aka A32 aka armv7) usage.
Thanks,
Andrew Pinski
________________________________ From: Virendra Kumar Pathak kumarvir.pathak@gmail.com Sent: Wednesday, June 10, 2015 12:06 AM To: Pinski, Andrew Cc: Linaro Toolchain Mailman List Subject: Re: mfpu=neon and -march=native on aarch64-linux-gnu toolchain
Hi Andrew,
Thanks for the information. So does it mean gcc will not recognize the 'mfpu' option itself for aarch64 ?
Linaro ToolChain FAQ says along with '-mfpu', we also need to specify -mfloat-abi=softfp|hard otherwise VFP/Neon/Crypto instructions will not be generated. Also Linaro connect presentation (http://www.slideshare.net/linaroorg/lcu14-307-advanced-toolchain-usage-parts...) suggest to pass '-funsafe-math-optimizations' since NEON does not support full IEEE 754.
Are such flags restrictions are still applicable ?
Please also tell how can we disable NEON/SIMD instructions in gcc for aarch64.
Thanks.
On 10 June 2015 at 11:05, Pinski, Andrew <Andrew.Pinski@caviumnetworks.commailto:Andrew.Pinski@caviumnetworks.com> wrote:
-march=native was not included in GCC 5.1 that Linaro provided. I don't know if Linaro has plans to backport the support it but it is already there for GCC 6.
You don't need -mfpu=neon for AARCH64 at all. AARCH64 defaults to having simd turned on.
Thanks,
Andrew Pinski
________________________________ From: linaro-toolchain <linaro-toolchain-bounces@lists.linaro.orgmailto:linaro-toolchain-bounces@lists.linaro.org> on behalf of Virendra Kumar Pathak <kumarvir.pathak@gmail.commailto:kumarvir.pathak@gmail.com> Sent: Tuesday, June 9, 2015 10:26 PM To: Linaro Toolchain Mailman List Subject: mfpu=neon and -march=native on aarch64-linux-gnu toolchain
Hi Linaro Toolchain Group,
I have questions regarding -mfpu=neon and -march=native w.r.t aarch64 linaro native toolchain (aarch64-linux-gnu) I found gcc is not accepting these flags.
On juno Board:
gcc -mfpu=neon hello.c -o hello gcc: error: unrecognized command line option '-mfpu=neon'
gcc -march=native hello.c -o hello hello.c:1:0: error: unknown value 'native' for –march
Am I missing something ? Please help.
Below is the machine details
uname -a Linux juno 3.10.55.0-1-linaro-lt-vexpress64 #1ubuntu1~ci+141022094025 SMP Wed Oct 22 09:41:06 UTC 2014 aarch64 aarch64 aarch64 GNU/Linux
gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/apps/gcc-native/gcc-linaro-5.1-2015.06.06.native-i686-mingw32_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/5.1.1/lto-wrapper Target: aarch64-linux-gnu Configured with: '/home/user_name/vpathak/build_abe/snapshots/gcc.git~linaro-4.9-branch/configure' SHELL=/bin/sh --with-bugurl=https://bugs.linaro.org --with-mpc=/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu --with-mpfr=/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu --with-gmp=/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-multiarch --disable-multilib --enable-c99 --with-arch=armv8-a --disable-shared --enable-static --with-build-sysroot=/home/user_name/vpathak/build_abe/sysroots/aarch64-linux-gnu --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu/aarch64-linux-gnu/libc --enable-languages=c,c++,fortran,lto --enable-fix-cortex-a53-835769 --enable-checking=release --disable-bootstrap --with-bugurl=https://bugs.linaro.org --build=x86_64-unknown-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --prefix=/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu Thread model: posix gcc version 5.1.1 (GCC)
Thanks. -- with regards, Virendra Kumar Pathak
-- with regards, Virendra Kumar Pathak