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/doc | |
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/doc')
-rw-r--r-- | gcc/doc/extend.texi | 9 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index b738b84..ab1db49 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3612,10 +3612,13 @@ this function. The behavior and permissible arguments are the same as for the command line option @option{-mcmodel=}. @item strict-align +@itemx no-strict-align @cindex @code{strict-align} function attribute, AArch64 -Indicates that the compiler should not assume that unaligned memory references -are handled by the system. The behavior is the same as for the command-line -option @option{-mstrict-align}. +@code{strict-align} indicates that the compiler should not assume that unaligned +memory references are handled by the system. To allow the compiler to assume +that aligned memory references are handled by the system, the inverse attribute +@code{no-strict-align} can be specified. The behavior is same as for the +command-line option @option{-mstrict-align} and @option{-mno-strict-align}. @item omit-leaf-frame-pointer @cindex @code{omit-leaf-frame-pointer} function attribute, AArch64 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index beba295..30d2a31 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -596,7 +596,7 @@ Objective-C and Objective-C++ Dialects}. @gccoptlist{-mabi=@var{name} -mbig-endian -mlittle-endian @gol -mgeneral-regs-only @gol -mcmodel=tiny -mcmodel=small -mcmodel=large @gol --mstrict-align @gol +-mstrict-align -mno-strict-align @gol -momit-leaf-frame-pointer @gol -mtls-dialect=desc -mtls-dialect=traditional @gol -mtls-size=@var{size} @gol @@ -14594,9 +14594,11 @@ Generate code for the large code model. This makes no assumptions about addresses and sizes of sections. Programs can be statically linked only. @item -mstrict-align +@itemx -mno-strict-align @opindex mstrict-align -Avoid generating memory accesses that may not be aligned on a natural object -boundary as described in the architecture specification. +@opindex mno-strict-align +Avoid or allow generating memory accesses that may not be aligned on a natural +object boundary as described in the architecture specification. @item -momit-leaf-frame-pointer @itemx -mno-omit-leaf-frame-pointer |