------- Comment #4 from dorit at il dot ibm dot com 2007-06-07 18:40 ------- You're right. I'm testing this obvious patch:
Index: tree-vect-analyze.c =================================================================== *** tree-vect-analyze.c (revision 125526) --- tree-vect-analyze.c (working copy) *************** vect_determine_vectorization_factor (loo *** 173,181 **** print_generic_expr (vect_dump, stmt, TDF_SLIM); } - if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT) - continue; - gcc_assert (stmt_info); /* skip stmts which do not need to be vectorized. */ --- 173,178 ---- *************** vect_determine_vectorization_factor (loo *** 187,192 **** --- 184,199 ---- continue; } + if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT) + { + if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS)) + { + fprintf (vect_dump, "not vectorized: irregular stmt."); + print_generic_expr (vect_dump, stmt, TDF_SLIM); + } + return false; + } + if (!GIMPLE_STMT_P (stmt) && VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (stmt)))) { -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32224