aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorSudakshina Das <sudi.das@arm.com>2018-05-23 11:33:09 +0000
committerSudakshina Das <sudi@gcc.gnu.org>2018-05-23 11:33:09 +0000
commit675d044c852044111c656f86c273a0c5f11ad3d5 (patch)
tree62a5bf326298914ec54a2ae48a228b5c9394d1d8 /gcc/doc
parentcb3c90cc4253cc236a4d5669a893562b202570e5 (diff)
downloadgcc-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.texi9
-rw-r--r--gcc/doc/invoke.texi8
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