summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-18 19:15:31 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-18 19:15:31 +0000
commitff5e5248a6ca39ac9528d905929daeaf339eb750 (patch)
tree7266caaf1fd8d98c3f0e8af3e7699072907e9310
parent1e3646b99fdb6ffaffd29d5f7eade97f91708334 (diff)
downloadppe42-gcc-ff5e5248a6ca39ac9528d905929daeaf339eb750.tar.gz
ppe42-gcc-ff5e5248a6ca39ac9528d905929daeaf339eb750.zip
PR target/27565
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust alignment of SPE vector types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116249 138bc75d-0d04-0410-961f-82ee72b054a4
-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 a30a412ea8f..3dbd11b3924 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 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
OpenPOWER on IntegriCloud