diff options
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa2cfa8..38592a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -15,6 +15,9 @@ * tree-vect-generic.c (expand_vector_operations_1): Don't do that here; always simplify to scalar shift of vector if possible. + * config/rs6000/rs6000.c (rs6000_expand_vector_init): Fix mode + test for vector splat. + 2011-10-13 Jakub Jelinek <jakub@redhat.com> * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4fd2192..aee976c 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4758,7 +4758,7 @@ rs6000_expand_vector_init (rtx target, rtx vals) /* Store value to stack temp. Load vector element. Splat. However, splat of 64-bit items is not supported on Altivec. */ - if (all_same && GET_MODE_SIZE (mode) <= 4) + if (all_same && GET_MODE_SIZE (inner_mode) <= 4) { mem = assign_stack_temp (mode, GET_MODE_SIZE (inner_mode), 0); emit_move_insn (adjust_address_nv (mem, inner_mode, 0), |