tree-optimization/102847 - properly cost VMAT_INVARIANT loads
The following adds proper costing of VMAT_INVARIANT loads, avoiding to ask the target about the cost of an unsupported vector load cost which we won't emit anyway. 2021-10-21 Richard Biener <rguenther@suse.de> PR tree-optimization/102847 * tree-vect-stmts.c (vect_model_load_cost): Explicitely handle VMAT_INVARIANT as a splat in the prologue.
This commit is contained in:
parent
e633f82fb7
commit
7878981f1d
1 changed files with 7 additions and 0 deletions
|
@ -1191,6 +1191,13 @@ vect_model_load_cost (vec_info *vinfo,
|
|||
ncopies * assumed_nunits,
|
||||
scalar_load, stmt_info, 0, vect_body);
|
||||
}
|
||||
else if (memory_access_type == VMAT_INVARIANT)
|
||||
{
|
||||
/* Invariant loads will ideally be hoisted and splat to a vector. */
|
||||
prologue_cost += record_stmt_cost (cost_vec, 1,
|
||||
scalar_to_vec, stmt_info, 0,
|
||||
vect_prologue);
|
||||
}
|
||||
else
|
||||
vect_get_load_cost (vinfo, stmt_info, ncopies,
|
||||
alignment_support_scheme, misalignment, first_stmt_p,
|
||||
|
|
Loading…
Add table
Reference in a new issue