OSDN Git Service

({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Dec 1995 20:29:15 +0000 (20:29 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Dec 1995 20:29:15 +0000 (20:29 +0000)
(PREDICATE_CODES): Add reg_or_unaligned_mem_operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10881 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/alpha/alpha.h

index ac283ad..3581cbf 100644 (file)
@@ -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}},
 \f
 /* Tell collect that the object format is ECOFF.  */