Commit 0d266580 by Dorit Nuzman Committed by Dorit Nuzman

re PR tree-optimization/32224 (ICE in vect_analyze_operations, at tree-vect-analyze.c:374)

        PR tree-optimization/32224
        * tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
        vectorization upon a non GIMPLE_MODIFY_STMT.

From-SVN: r125566
parent 2dbc83d9
2007-06-08 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/32224
* tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
vectorization upon a non GIMPLE_MODIFY_STMT.
2007-06-08 Christian Bruel <christian.bruel@st.com> 2007-06-08 Christian Bruel <christian.bruel@st.com>
PR target/29953 PR target/29953
......
2007-06-08 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/32224
* gcc.dg/vect/pr32224.c: New test.
2007-06-08 Jakub Jelinek <jakub@redhat.com> 2007-06-08 Jakub Jelinek <jakub@redhat.com>
PR c++/32177 PR c++/32177
/* { dg-do compile } */
typedef unsigned long int *mp_ptr;
typedef const unsigned long int *mp_srcptr;
gmpz_export (void *data)
{
mp_srcptr zp;
int count, i;
mp_ptr __dst = ((mp_ptr) data);
mp_srcptr __src = (zp);
for (i = 0; i < count; i++)
{
__asm__ ("bswap %q0": "=r" (*__dst):"0" (*(__src)));
__src++;
}
}
/* { dg-final { cleanup-tree-dump "vect" } } */
...@@ -173,9 +173,6 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo) ...@@ -173,9 +173,6 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo)
print_generic_expr (vect_dump, stmt, TDF_SLIM); print_generic_expr (vect_dump, stmt, TDF_SLIM);
} }
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
continue;
gcc_assert (stmt_info); gcc_assert (stmt_info);
/* skip stmts which do not need to be vectorized. */ /* skip stmts which do not need to be vectorized. */
...@@ -187,6 +184,16 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo) ...@@ -187,6 +184,16 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo)
continue; 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) if (!GIMPLE_STMT_P (stmt)
&& VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (stmt)))) && VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (stmt))))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment