diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2017-09-28 16:13:01 +0000 |
---|---|---|
committer | Thomas Preud'homme <thopre01@gcc.gnu.org> | 2017-09-28 16:13:01 +0000 |
commit | 6050d55ca84fe96018e99afa5e1403341c538f3f (patch) | |
tree | 10f466de1de6f32fabf5185df6f377c391baa9ac /gcc/cp/expr.c | |
parent | 5a47aa2c8c36571a51552e46f3d971c107d5bf88 (diff) | |
download | gcc-6050d55ca84fe96018e99afa5e1403341c538f3f.zip gcc-6050d55ca84fe96018e99afa5e1403341c538f3f.tar.gz gcc-6050d55ca84fe96018e99afa5e1403341c538f3f.tar.bz2 |
[ARM] Remove ARMv8-M code for D17-D31
Function cmse_nonsecure_entry_clear_before_return has code to deal with
high VFP register (D16-D31) while ARMv8-M Baseline and Mainline both do
not support more than 16 double VFP registers (D0-D15). This makes this
security-sensitive code harder to read for not much benefit since
libcall for cmse_nonsecure_call functions do not deal with those high
VFP registers anyway.
This commit gets rid of this code for simplicity and fixes 2 issues in
the same function:
- stop the first loop when reaching maxregno to avoid dealing with VFP
registers if targetting Thumb-1 or using -mfloat-abi=soft
- include maxregno in that loop
2017-09-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security
Extensions with more than 16 double VFP registers.
(cmse_nonsecure_entry_clear_before_return): Remove second entry of
to_clear_mask and all code related to it. Replace the remaining
entry by a sbitmap and adapt code accordingly.
From-SVN: r253256
Diffstat (limited to 'gcc/cp/expr.c')
0 files changed, 0 insertions, 0 deletions