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
This commit is contained in:
parent
2dbc83d953
commit
0d2665809f
4 changed files with 38 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
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>
|
||||
|
||||
PR target/29953
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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>
|
||||
|
||||
PR c++/32177
|
||||
|
|
17
gcc/testsuite/gcc.dg/vect/pr32224.c
Normal file
17
gcc/testsuite/gcc.dg/vect/pr32224.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* { 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)
|
|||
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. */
|
||||
|
@ -187,6 +184,16 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo)
|
|||
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))))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue