Commit 7d8930a0 by Ira Rosen Committed by Ira Rosen

re PR middle-end/43901 (FAIL: gcc.c-torture/compile/pr42196-2.c)


	PR tree-optimization/43901
	* tree-vect-stmts.c (vectorizable_call): Assert that vector
	type is not NULL if it's transformation phase, and return
	FALSE if it's analysis.
	(vectorizable_conversion, vectorizable_operation, 
	vectorizable_type_demotion, vectorizable_type_promotion):
	Likewise.

From-SVN: r159095
parent 9876df2e
2010-05-06 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/43901
* tree-vect-stmts.c (vectorizable_call): Assert that vector
type is not NULL if it's transformation phase, and return
FALSE if it's analysis.
(vectorizable_conversion, vectorizable_operation,
vectorizable_type_demotion, vectorizable_type_promotion):
Likewise.
2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
* config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
......
......@@ -1304,6 +1304,18 @@ vectorizable_call (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt)
the same size as the output vector type. */
if (!vectype_in)
vectype_in = get_same_sized_vectype (rhs_type, vectype_out);
if (vec_stmt)
gcc_assert (vectype_in);
if (!vectype_in)
{
if (vect_print_dump_info (REPORT_DETAILS))
{
fprintf (vect_dump, "no vectype for scalar type ");
print_generic_expr (vect_dump, rhs_type, TDF_SLIM);
}
return false;
}
/* FORNOW */
nunits_in = TYPE_VECTOR_SUBPARTS (vectype_in);
......@@ -1606,6 +1618,18 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi,
the same size as the output vector type. */
if (!vectype_in)
vectype_in = get_same_sized_vectype (rhs_type, vectype_out);
if (vec_stmt)
gcc_assert (vectype_in);
if (!vectype_in)
{
if (vect_print_dump_info (REPORT_DETAILS))
{
fprintf (vect_dump, "no vectype for scalar type ");
print_generic_expr (vect_dump, rhs_type, TDF_SLIM);
}
return false;
}
/* FORNOW */
nunits_in = TYPE_VECTOR_SUBPARTS (vectype_in);
......@@ -1986,7 +2010,18 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi,
the same size as the output vector type. */
if (!vectype)
vectype = get_same_sized_vectype (TREE_TYPE (op0), vectype_out);
gcc_assert (vectype);
if (vec_stmt)
gcc_assert (vectype);
if (!vectype)
{
if (vect_print_dump_info (REPORT_DETAILS))
{
fprintf (vect_dump, "no vectype for scalar type ");
print_generic_expr (vect_dump, TREE_TYPE (op0), TDF_SLIM);
}
return false;
}
nunits_out = TYPE_VECTOR_SUBPARTS (vectype_out);
nunits_in = TYPE_VECTOR_SUBPARTS (vectype);
......@@ -2449,8 +2484,18 @@ vectorizable_type_demotion (gimple stmt, gimple_stmt_iterator *gsi,
same size as the output vector type if possible. */
if (!vectype_in)
vectype_in = get_same_sized_vectype (TREE_TYPE (op0), vectype_out);
if (vec_stmt)
gcc_assert (vectype_in);
if (!vectype_in)
return false;
{
if (vect_print_dump_info (REPORT_DETAILS))
{
fprintf (vect_dump, "no vectype for scalar type ");
print_generic_expr (vect_dump, TREE_TYPE (op0), TDF_SLIM);
}
return false;
}
nunits_in = TYPE_VECTOR_SUBPARTS (vectype_in);
nunits_out = TYPE_VECTOR_SUBPARTS (vectype_out);
......@@ -2718,8 +2763,18 @@ vectorizable_type_promotion (gimple stmt, gimple_stmt_iterator *gsi,
the same size as the output vector type. */
if (!vectype_in)
vectype_in = get_same_sized_vectype (TREE_TYPE (op0), vectype_out);
if (vec_stmt)
gcc_assert (vectype_in);
if (!vectype_in)
return false;
{
if (vect_print_dump_info (REPORT_DETAILS))
{
fprintf (vect_dump, "no vectype for scalar type ");
print_generic_expr (vect_dump, TREE_TYPE (op0), TDF_SLIM);
}
return false;
}
nunits_in = TYPE_VECTOR_SUBPARTS (vectype_in);
nunits_out = TYPE_VECTOR_SUBPARTS (vectype_out);
......
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