diff options
author | Sudakshina Das <sudi.das@arm.com> | 2018-05-23 11:33:09 +0000 |
---|---|---|
committer | Sudakshina Das <sudi@gcc.gnu.org> | 2018-05-23 11:33:09 +0000 |
commit | 675d044c852044111c656f86c273a0c5f11ad3d5 (patch) | |
tree | 62a5bf326298914ec54a2ae48a228b5c9394d1d8 /gcc/common | |
parent | cb3c90cc4253cc236a4d5669a893562b202570e5 (diff) | |
download | gcc-675d044c852044111c656f86c273a0c5f11ad3d5.zip gcc-675d044c852044111c656f86c273a0c5f11ad3d5.tar.gz gcc-675d044c852044111c656f86c273a0c5f11ad3d5.tar.bz2 |
[AArch64][PR target/84882] Add mno-strict-align
*** gcc/ChangeLog ***
2018-05-23 Sudakshina Das <sudi.das@arm.com>
PR target/84882
* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
Check val before adding MASK_STRICT_ALIGN to opts->x_target_flags.
* config/aarch64/aarch64.opt (mstrict-align): Remove RejectNegative.
* config/aarch64/aarch64.c (aarch64_attributes): Mark allow_neg
as true for strict-align.
(aarch64_can_inline_p): Perform checks even when callee has no
attributes to check for strict alignment.
* doc/extend.texi (AArch64 Function Attributes): Document
no-strict-align.
* doc/invoke.texi: (AArch64 Options): Likewise.
*** gcc/testsuite/ChangeLog ***
2018-05-23 Sudakshina Das <sudi.das@arm.com>
PR target/84882
* gcc.target/aarch64/pr84882.c: New test.
* gcc.target/aarch64/target_attr_18.c: Likewise.
From-SVN: r260604
Diffstat (limited to 'gcc/common')
-rw-r--r-- | gcc/common/config/aarch64/aarch64-common.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.c index a9fc5f1..292fb81 100644 --- a/gcc/common/config/aarch64/aarch64-common.c +++ b/gcc/common/config/aarch64/aarch64-common.c @@ -101,7 +101,10 @@ aarch64_handle_option (struct gcc_options *opts, return true; case OPT_mstrict_align: - opts->x_target_flags |= MASK_STRICT_ALIGN; + if (val) + opts->x_target_flags |= MASK_STRICT_ALIGN; + else + opts->x_target_flags &= ~MASK_STRICT_ALIGN; return true; case OPT_momit_leaf_frame_pointer: |