From: Richard Kenner Date: Wed, 27 Dec 1995 20:29:15 +0000 (-0500) Subject: ({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=442b16859cfb776f532d6cdb4908ce19e96924e2;p=gcc.git ({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD. (PREDICATE_CODES): Add reg_or_unaligned_mem_operand. From-SVN: r10881 --- diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index ac283ad0092..3581cbfe366 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -252,16 +252,10 @@ extern int target_flags; /* No data type wants to be aligned rounder than this. */ #define BIGGEST_ALIGNMENT 64 -/* Make strings word-aligned so strcpy from constants will be faster. */ -#define CONSTANT_ALIGNMENT(EXP, ALIGN) \ - (TREE_CODE (EXP) == STRING_CST \ - && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN)) - -/* Make arrays of chars word-aligned for the same reasons. */ -#define DATA_ALIGNMENT(TYPE, ALIGN) \ - (TREE_CODE (TYPE) == ARRAY_TYPE \ - && TYPE_MODE (TREE_TYPE (TYPE)) == QImode \ - && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN)) +/* Align all constants and variables to at least a word boundary so + we can pick up pieces of them faster. */ +#define CONSTANT_ALIGNMENT(EXP, ALIGN) MAX ((ALIGN), BITS_PER_WORD) +#define DATA_ALIGNMENT(EXP, ALIGN) MAX ((ALIGN), BITS_PER_WORD) /* Set this non-zero if move instructions will actually fail to work when given unaligned data. @@ -1888,6 +1882,7 @@ literal_section () \ SYMBOL_REF, CONST, LABEL_REF}}, \ {"aligned_memory_operand", {MEM}}, \ {"unaligned_memory_operand", {MEM}}, \ + {"reg_or_unaligned_mem_operand", {SUBREG, REG, MEM}}, \ {"any_memory_operand", {MEM}}, /* Tell collect that the object format is ECOFF. */