mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 18:20:51 +08:00
SLP: Have vectorizable_slp_permutation set type on invariants
This modifies vectorizable_slp_permutation to update the type of the children of a perm node before trying to permute them. This allows us to be able to permute invariant nodes. This will be covered by test from the SLP pattern matcher. gcc/ChangeLog: * tree-vect-slp.c (vectorizable_slp_permutation): Update types on nodes when needed.
This commit is contained in:
parent
640ebeb336
commit
ad318e3f1d
@ -5187,7 +5187,8 @@ vectorizable_slp_permutation (vec_info *vinfo, gimple_stmt_iterator *gsi,
|
||||
slp_tree child;
|
||||
unsigned i;
|
||||
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child)
|
||||
if (!types_compatible_p (SLP_TREE_VECTYPE (child), vectype))
|
||||
if (!vect_maybe_update_slp_op_vectype (child, vectype)
|
||||
|| !types_compatible_p (SLP_TREE_VECTYPE (child), vectype))
|
||||
{
|
||||
if (dump_enabled_p ())
|
||||
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
|
||||
|
Loading…
x
Reference in New Issue
Block a user