[GCC, ARM] Enable armv8.5-a and add +sb and +predres for previous ARMv8-a in ARM
authorSudakshina Das <sudi.das@arm.com>
Mon, 12 Nov 2018 14:58:39 +0000 (14:58 +0000)
committerSudakshina Das <sudi@gcc.gnu.org>
Mon, 12 Nov 2018 14:58:39 +0000 (14:58 +0000)
commitae78a89f5210015ef21d107ad57d10bcb7ac852c
treeaf3d820d01d81196e0da79115a18ebd09b3b82e0
parent27922d518d3c81c85df4b2d391bc54e85dab01f5
[GCC, ARM] Enable armv8.5-a and add +sb and +predres for previous ARMv8-a in ARM

This patch adds -march=armv8.5-a to the Arm backend.
Armv8.5-A also adds two new security features:
- Speculation Barrier instruction
- Execution and Data Prediction Restriction Instructions
These are made optional to all older Armv8-A versions. Thus we are adding two
new options "+sb" and "+predres" to all older Armv8-A. These are passed on to
the assembler and have no code generation effects and have already gone in the
trunk of binutils.

*** gcc/ChangeLog ***

2018-11-12  Sudakshina Das  <sudi.das@arm.com>

* config/arm/arm-cpus.in (armv8_5, sb, predres): New features.
(ARMv8_5a): New fgroup.
(armv8.5-a): New arch.
(armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a): New options
sb and predres.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/t-aprofile: Add matching rules for -march=armv8.5-a
* config/arm/t-arm-elf (all_v8_archs): Add armv8.5-a.
* config/arm/t-multilib (v8_5_a_simd_variants): New variable.
Add matching rules for -march=armv8.5-a and extensions.
* doc/invoke.texi (ARM options): Document -march=armv8.5-a.
Add sb and predres to all armv8-a except armv8.5-a.

*** gcc/testsuite/ChangeLog ***

2018-11-12  Sudakshina Das  <sudi.das@arm.com>

* gcc.target/arm/multilib.exp: Add some -march=armv8.5-a
combination tests.

From-SVN: r266031
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