Commit a82960aa by Richard Guenther Committed by Richard Biener

re PR bootstrap/53331 (AIX bootstrap failure in tree-vect-data-ref compiling matmul_i4)

2012-05-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53331
	* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
	strided loads.
	* tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.

From-SVN: r187466
parent f2bc201f
2012-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53331
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
strided loads.
* tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.
2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53063
......
......@@ -1078,6 +1078,11 @@ vect_verify_datarefs_alignment (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
|| !STMT_VINFO_VECTORIZABLE (stmt_info))
continue;
/* Strided loads perform only component accesses, alignment is
irrelevant for them. */
if (STMT_VINFO_STRIDE_LOAD_P (stmt_info))
continue;
supportable_dr_alignment = vect_supportable_dr_alignment (dr, false);
if (!supportable_dr_alignment)
{
......
......@@ -1032,10 +1032,19 @@ vect_model_load_cost (stmt_vec_info stmt_info, int ncopies, bool load_lanes_p,
}
/* The loads themselves. */
vect_get_load_cost (first_dr, ncopies,
((!STMT_VINFO_GROUPED_ACCESS (stmt_info)) || group_size > 1
|| slp_node),
&inside_cost, &outside_cost);
if (STMT_VINFO_STRIDE_LOAD_P (stmt_info))
{
/* N scalar loads plus gathering them into a vector.
??? scalar_to_vec isn't the cost for that. */
inside_cost += (vect_get_stmt_cost (scalar_load) * ncopies
* TYPE_VECTOR_SUBPARTS (STMT_VINFO_VECTYPE (stmt_info)));
inside_cost += ncopies * vect_get_stmt_cost (scalar_to_vec);
}
else
vect_get_load_cost (first_dr, ncopies,
((!STMT_VINFO_GROUPED_ACCESS (stmt_info))
|| group_size > 1 || slp_node),
&inside_cost, &outside_cost);
if (vect_print_dump_info (REPORT_COST))
fprintf (vect_dump, "vect_model_load_cost: inside_cost = %d, "
......
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