summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/eabi.h
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-02-16 16:49:44 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-02-16 16:49:44 +0000
commitfc62f36e9e5b7906353ff6a12cf01e86c82287ca (patch)
tree1f49ba5903083bd096ae91976636cb4fbed9d428 /gcc/config/rs6000/eabi.h
parent1a3f833b830b751255234b5132684e8e1aaedf15 (diff)
downloadgcc-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.h12
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