re PR target/27565 (ICE in assign_stack_temp_for_type for vectors with SPE)
authorJoseph Myers <joseph@codesourcery.com>
Fri, 18 Aug 2006 19:15:31 +0000 (20:15 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 18 Aug 2006 19:15:31 +0000 (20:15 +0100)
PR target/27565
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
alignment of SPE vector types.

From-SVN: r116249

gcc/ChangeLog
gcc/config/rs6000/rs6000.h

index a30a412..3dbd11b 100644 (file)
@@ -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.
index 3465992..c83c495 100644 (file)
@@ -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