aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-08-18 20:15:31 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2006-08-18 20:15:31 +0100
commit16e7a51f3a4914da9019d41c46753b5f9020d6e6 (patch)
tree7266caaf1fd8d98c3f0e8af3e7699072907e9310
parentfb2323eb401ab9929dddaca02e3f7eb14bf79368 (diff)
downloadgcc-16e7a51f3a4914da9019d41c46753b5f9020d6e6.zip
gcc-16e7a51f3a4914da9019d41c46753b5f9020d6e6.tar.gz
gcc-16e7a51f3a4914da9019d41c46753b5f9020d6e6.tar.bz2
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a30a412..3dbd11b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-18 Joseph Myers <joseph@codesourcery.com>
+
+ PR target/27565
+ * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
+ alignment of SPE vector types.
+
2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr>
* 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 3465992..c83c495 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