diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2011-11-25 05:23:10 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2011-11-25 05:23:10 +0000 |
commit | fe0c276f9c7117306203b940b2acfe89658b9dc4 (patch) | |
tree | 71f3f77415e24bb9f6478e41bad162b32050b4b0 /gnu/gcc | |
parent | 188539c0c1642ac2e2f1dfa76b61b3b7fa3bb587 (diff) |
Final configuration bits for gcc4: require alignment of local arrays on
word boundaries, and enable the builtins.c `one-byte memcpy' workaround.
Diffstat (limited to 'gnu/gcc')
-rw-r--r-- | gnu/gcc/gcc/config/alpha/alpha.h | 7 | ||||
-rw-r--r-- | gnu/gcc/gcc/config/alpha/openbsd.h | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/gnu/gcc/gcc/config/alpha/alpha.h b/gnu/gcc/gcc/config/alpha/alpha.h index ed02c9f3e8e..3e0c5b0f9fe 100644 --- a/gnu/gcc/gcc/config/alpha/alpha.h +++ b/gnu/gcc/gcc/config/alpha/alpha.h @@ -373,12 +373,11 @@ extern enum alpha_fp_trap_mode alpha_fptm; /* Align all constants and variables to at least a word boundary so we can pick up pieces of them faster. */ -/* ??? Only if block-move stuff knows about different source/destination - alignment. */ -#if 0 #define CONSTANT_ALIGNMENT(EXP, ALIGN) MAX ((ALIGN), BITS_PER_WORD) #define DATA_ALIGNMENT(EXP, ALIGN) MAX ((ALIGN), BITS_PER_WORD) -#endif + +/* Make local arrays of chars word-aligned for the same reasons. */ +#define LOCAL_ALIGNMENT(TYPE, ALIGN) DATA_ALIGNMENT (TYPE, ALIGN) /* Set this nonzero if move instructions will actually fail to work when given unaligned data. diff --git a/gnu/gcc/gcc/config/alpha/openbsd.h b/gnu/gcc/gcc/config/alpha/openbsd.h index 3dee9c0a911..61f09a776f5 100644 --- a/gnu/gcc/gcc/config/alpha/openbsd.h +++ b/gnu/gcc/gcc/config/alpha/openbsd.h @@ -83,3 +83,6 @@ Boston, MA 02110-1301, USA. */ /* don't want no friggin' stack checks. */ #undef STACK_CHECK_BUILTIN #define STACK_CHECK_BUILTIN 0 + +/* don't want bcopy() optimized into memmove() unless correctly aligned */ +#define SUBWORD_ACCESS_P (TARGET_BWX) |