re PR target/35839 (Altivec with the vectorizer causes an ICE in rs6000_check_sdmode)
authorJanis Johnson <janis187@us.ibm.com>
Tue, 8 Apr 2008 21:17:16 +0000 (21:17 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Tue, 8 Apr 2008 21:17:16 +0000 (21:17 +0000)
PR target/35839
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
kinds of indirect references.

From-SVN: r134107

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index f22587446adbf9b5f1f25f6cbca1f4c9d42c5792..c7b8ad017f994cef1e2c6b9509bf4cf9b5c0acd0 100644 (file)
@@ -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
index 3793976363bb8d4947e6aa729ceb79459c2ab56b..be069ccb7a54d2971f2aeea5b227ca18ec078531 100644 (file)
@@ -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;