diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-02-16 16:49:44 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-02-16 16:49:44 +0000 |
commit | fc62f36e9e5b7906353ff6a12cf01e86c82287ca (patch) | |
tree | 1f49ba5903083bd096ae91976636cb4fbed9d428 /gcc/config/rs6000/eabi.h | |
parent | 1a3f833b830b751255234b5132684e8e1aaedf15 (diff) | |
download | gcc-fc62f36e9e5b7906353ff6a12cf01e86c82287ca.tar.gz |
Add -m{,no-}strict-align support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8958 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/eabi.h')
-rw-r--r-- | gcc/config/rs6000/eabi.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h index f7375bc03be..0d04790506b 100644 --- a/gcc/config/rs6000/eabi.h +++ b/gcc/config/rs6000/eabi.h @@ -23,13 +23,17 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Set PCC_BITFIELD_TYPE_MATTERS to 0 to ignore the type of bitfields when calculating alignment. */ #define MASK_NO_BITFIELD_TYPE 0x40000000 +#define MASK_STRICT_ALIGN 0x20000000 #define TARGET_NO_BITFIELD_TYPE (target_flags & MASK_NO_BITFIELD_TYPE) #define TARGET_BITFIELD_TYPE (! TARGET_NO_BITFIELD_TYPE) +#define TARGET_STRICT_ALIGN (target_flags & MASK_STRICT_ALIGN) #define SUBTARGET_SWITCHES \ { "bit-align", -MASK_NO_BITFIELD_TYPE }, \ - { "no-bit-align", MASK_NO_BITFIELD_TYPE }, + { "no-bit-align", MASK_NO_BITFIELD_TYPE }, \ + { "strict-align", MASK_STRICT_ALIGN }, \ + { "no-strict-align", -MASK_STRICT_ALIGN }, #include "rs6000/sysv4.h" @@ -42,6 +46,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef PCC_BITFIELD_TYPE_MATTERS #define PCC_BITFIELD_TYPE_MATTERS (TARGET_BITFIELD_TYPE) +/* Define this macro to be the value 1 if instructions will fail to + work if given data not on the nominal alignment. If instructions + will merely go slower in that case, define this macro as 0. */ +#undef STRICT_ALIGNMENT +#define STRICT_ALIGNMENT (TARGET_STRICT_ALIGN) + /* Align stack to 8 byte boundaries, rather than 16 bytes Sys V.4 uses */ #undef STACK_BOUNDARY #define STACK_BOUNDARY 64 |