diff options
author | Janis Johnson <janis187@us.ibm.com> | 2008-04-08 21:17:16 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2008-04-08 21:17:16 +0000 |
commit | a0f3928210c3b652eb7804144f59db9f8fe98334 (patch) | |
tree | 5d9b630ed4bed107c7b4d426f31d461de392f02d /gcc | |
parent | 7f62878c1dea1e31a4471bb147c567048019d0eb (diff) | |
download | gcc-a0f3928210c3b652eb7804144f59db9f8fe98334.zip gcc-a0f3928210c3b652eb7804144f59db9f8fe98334.tar.gz gcc-a0f3928210c3b652eb7804144f59db9f8fe98334.tar.bz2 |
re PR target/35839 (Altivec with the vectorizer causes an ICE in rs6000_check_sdmode)
PR target/35839
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
kinds of indirect references.
From-SVN: r134107
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f225874..c7b8ad0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-04-08 Janis Johnson <janis187@us.ibm.com> + + PR target/35839 + * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional + kinds of indirect references. + 2008-04-08 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3793976..be069cc 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -11226,9 +11226,6 @@ rs6000_check_sdmode (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) return NULL_TREE; } - gcc_assert (TREE_CODE (*tp) != ALIGN_INDIRECT_REF); - gcc_assert (TREE_CODE (*tp) != MISALIGNED_INDIRECT_REF); - switch (TREE_CODE (*tp)) { case VAR_DECL: @@ -11237,6 +11234,8 @@ rs6000_check_sdmode (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) case RESULT_DECL: case REAL_CST: case INDIRECT_REF: + case ALIGN_INDIRECT_REF: + case MISALIGNED_INDIRECT_REF: case VIEW_CONVERT_EXPR: if (TYPE_MODE (TREE_TYPE (*tp)) == SDmode) return *tp; |