middle-end: Fix ICE in poly-int.h due to SLP.
Adds a check to ensure that the input vector arguments to a function are not variable length. Previously, only the output vector of a function was checked. The ICE in question is within the neon-sve-bridge.c test, and is related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111268 gcc/ChangeLog: PR tree-optimization/111268 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Add variable-length check for vector input arguments to a function.
This commit is contained in:
parent
314cbfe298
commit
4571b4d413
1 changed files with 2 additions and 1 deletions
|
@ -8987,7 +8987,8 @@ vectorizable_slp_permutation_1 (vec_info *vinfo, gimple_stmt_iterator *gsi,
|
|||
{
|
||||
/* Calculate every element of every permute mask vector explicitly,
|
||||
instead of relying on the pattern described above. */
|
||||
if (!nunits.is_constant (&npatterns))
|
||||
if (!nunits.is_constant (&npatterns)
|
||||
|| !TYPE_VECTOR_SUBPARTS (op_vectype).is_constant ())
|
||||
return -1;
|
||||
nelts_per_pattern = ncopies = 1;
|
||||
if (loop_vec_info linfo = dyn_cast <loop_vec_info> (vinfo))
|
||||
|
|
Loading…
Add table
Reference in a new issue