[arm][1/3] Add -march=armv8.4-a option
commit3b1fb03de601cc26c9694b6879a3f2f3d49ac7c4
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Jan 2018 15:18:04 +0000 (11 15:18 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Jan 2018 15:18:04 +0000 (11 15:18 +0000)
tree19c3c56aa8e19c22fede24b78d67af126a74ef84
parent374ef11dc854074b661bde9b536f44276ad5719f
[arm][1/3] Add -march=armv8.4-a option

This patch adds support for the Armv8.4-A architecture [1]
in the arm backend. This is done through the new
-march=armv8.4-a option.

With this patch armv8.4-a is recognised as an argument
and supports the extensions: simd, fp16, crypto, nocrypto,
nofp with the familiar meaning of these options.
Worth noting that there is no dotprod option like in
armv8.2-a and armv8.3-a because Dot Product support is
mandatory in Armv8.4-A when simd is available, so when using
+simd (of fp16 which enables +simd), the +dotprod is implied.

The various multilib selection makefile fragments are updated
too and the mutlilib.exp test gets a few armv8.4-a combination
tests.

Bootstrapped and tested on arm-none-linux-gnueabihf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256537 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm-cpus.in
gcc/config/arm/arm-tables.opt
gcc/config/arm/t-aprofile
gcc/config/arm/t-arm-elf
gcc/config/arm/t-multilib
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/multilib.exp