diff options
author | avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-12-02 15:22:43 +0000 |
---|---|---|
committer | avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-12-02 15:22:43 +0000 |
commit | 0120ae3031097eb092abd20bddac45f58762b1a9 (patch) | |
tree | 6811602f7f8aa090716356b734baf53b5076392b /gcc/config/arm/arm.h | |
parent | b99ff0e778469b11eaab6563f68478c4486903ad (diff) | |
download | gcc-0120ae3031097eb092abd20bddac45f58762b1a9.tar.gz |
Add support for ARMv8-M's Secure Extensions flag and intrinsics
gcc/ChangeLog:
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* config.gcc (extra_headers): Added arm_cmse.h.
* config/arm/arm-arches.def (ARM_ARCH):
(armv8-m): Add FL2_CMSE.
(armv8-m.main): Likewise.
(armv8-m.main+dsp): Likewise.
* config/arm/arm-c.c
(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
* config/arm/arm-flags.h: Define FL2_CMSE.
* config/arm.c (arm_arch_cmse): New.
(arm_option_override): New error for unsupported cmse target.
* config/arm/arm.h (arm_arch_cmse): New.
* config/arm/arm.opt (mcmse): New.
* config/arm/arm_cmse.h: New file.
* doc/invoke.texi (ARM Options): Add -mcmse.
* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
* doc/extend.texi: Add ARMv8-M Security Extensions entry.
gcc/testsuite/ChangeLog:
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse.exp: New.
* gcc.target/arm/cmse/cmse-1.c: New.
* gcc.target/arm/cmse/cmse-12.c: New.
* lib/target-supports.exp
(check_effective_target_arm_cmse_ok): New.
libgcc/ChangeLog:
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/arm/t-arm (HAVE_CMSE): New.
* config/arm/cmse.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/arm.h')
-rw-r--r-- | gcc/config/arm/arm.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 464710b2a98..3d627436c57 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -523,6 +523,9 @@ extern bool arm_disable_literal_pool; /* Nonzero if chip supports the ARMv8 CRC instructions. */ extern int arm_arch_crc; +/* Nonzero if chip supports the ARMv8-M Security Extensions. */ +extern int arm_arch_cmse; + #ifndef TARGET_DEFAULT #define TARGET_DEFAULT (MASK_APCS_FRAME) #endif |