diff options
author | YunQiang Su <yunqiang.su@cipunited.com> | 2021-10-11 06:42:39 -0400 |
---|---|---|
committer | YunQiang Su <syq@debian.org> | 2021-12-07 10:01:23 +0800 |
commit | 30a08286e67e3aee17347f8d02e8f868a995beb9 (patch) | |
tree | 3f72d4fda38abcffce68860861bfaa6040892f36 /gcc/doc | |
parent | 3d9e6767939e9658260e2506e81ec32b37cba041 (diff) | |
download | gcc-30a08286e67e3aee17347f8d02e8f868a995beb9.zip gcc-30a08286e67e3aee17347f8d02e8f868a995beb9.tar.gz gcc-30a08286e67e3aee17347f8d02e8f868a995beb9.tar.bz2 |
MIPS: R6: load/store can process unaligned address
MIPS release 6 requires the lw/ld/sw/sd can work with
unaligned address, while it can be implemented by
full hardware or trap&emulate.
Since it doesn't have to be fully done by hardware, we add a
pair of options -m(no-)unaligned-access. Kernels may need them.
gcc/ChangeLog:
* config/mips/mips.h (ISA_HAS_UNALIGNED_ACCESS, STRICT_ALIGNMENT):
R6 can unaligned access.
* config/mips/mips.md (movmisalign<mode>): Likewise.
* config/mips/mips.opt: add -m(no-)unaligned-access
* doc/invoke.texi: Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/mips/mips.exp: add unaligned-access
* gcc.target/mips/unaligned-2.c: New test.
* gcc.target/mips/unaligned-3.c: New test.
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 510ed07..8a70ada 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1079,6 +1079,7 @@ Objective-C and Objective-C++ Dialects}. -mcheck-zero-division -mno-check-zero-division @gol -mdivide-traps -mdivide-breaks @gol -mload-store-pairs -mno-load-store-pairs @gol +-munaligned-access -mno-unaligned-access @gol -mmemcpy -mno-memcpy -mlong-calls -mno-long-calls @gol -mmad -mno-mad -mimadd -mno-imadd -mfused-madd -mno-fused-madd -nocpp @gol -mfix-24k -mno-fix-24k @gol @@ -25731,6 +25732,15 @@ instructions to enable load/store bonding. This option is enabled by default but only takes effect when the selected architecture is known to support bonding. +@item -munaligned-access +@itemx -mno-unaligned-access +@opindex munaligned-access +@opindex mno-unaligned-access +Enable (disable) direct unaligned access for MIPS Release 6. +MIPSr6 requires load/store unaligned-access support, +by hardware or trap&emulate. +So @option{-mno-unaligned-access} may be needed by kernel. + @item -mmemcpy @itemx -mno-memcpy @opindex mmemcpy |