diff options
author | Joseph Myers <joseph@codesourcery.com> | 2006-08-18 20:15:31 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2006-08-18 20:15:31 +0100 |
commit | 16e7a51f3a4914da9019d41c46753b5f9020d6e6 (patch) | |
tree | 7266caaf1fd8d98c3f0e8af3e7699072907e9310 | |
parent | fb2323eb401ab9929dddaca02e3f7eb14bf79368 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 3 |
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 |