https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116215
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2025-01-24
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. It feels a unroll issue, expand_vec_perm_punpckldq_pshuf which
reads
unsigned nelt = (mode_to_nunits (widen_vmode).coeffs[0]);
dperm.nelt = nelt;
dperm.one_operand_p = true;
dperm.testing_p = false;
for (unsigned i = 0; i != nelt / 2; i++)
{
dperm.perm[i] = d->perm[i];
dperm.perm[i + nelt / 2] = d->perm[i];
}
so we likely have an upper bound on niter from the array-refs and can
completely peel this, exposing constant indices guarded by conditions
we cannot optimize because nelts is not statically known. So yet another
of those cases.