From 16e7a51f3a4914da9019d41c46753b5f9020d6e6 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 18 Aug 2006 20:15:31 +0100 Subject: [PATCH] re PR target/27565 (ICE in assign_stack_temp_for_type for vectors with SPE) PR target/27565 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust alignment of SPE vector types. From-SVN: r116249 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a30a412ea8f..3dbd11b3924 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-08-18 Joseph Myers + + PR target/27565 + * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust + alignment of SPE vector types. + 2006-08-18 Christophe Jaillet * tree.c (is_attribute_with_length_p): Remove a duplicated assert. diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 3465992544e..c83c49529a9 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -503,7 +503,8 @@ extern enum rs6000_nop_insertion rs6000_sched_insert_nops; #define LOCAL_ALIGNMENT(TYPE, ALIGN) \ ((TARGET_ALTIVEC && TREE_CODE (TYPE) == VECTOR_TYPE) ? 128 : \ (TARGET_E500_DOUBLE && TYPE_MODE (TYPE) == DFmode) ? 64 : \ - (TARGET_SPE && TREE_CODE (TYPE) == VECTOR_TYPE) ? 64 : ALIGN) + (TARGET_SPE && TREE_CODE (TYPE) == VECTOR_TYPE \ + && SPE_VECTOR_MODE (TYPE_MODE (TYPE))) ? 64 : ALIGN) /* Alignment of field after `int : 0' in a structure. */ #define EMPTY_FIELD_BOUNDARY 32 -- 2.30.2