https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116611
--- Comment #3 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Actually we're already supposed to be handling all constant permutes.
Maybe what's in the way is
/* FIXME: Explicitly disable VLA interleave SLP vectorization when we
may encounter ICE for poly size (1, 1) vectors in loop vectorizer.
Ideally, middle-end loop vectorizer should be able to disable it
itself, We can remove the codes here when middle-end code is able
to disable VLA SLP vectorization for poly size (1, 1) VF. */
if (!BYTES_PER_RISCV_VECTOR.is_constant ()
&& maybe_lt (BYTES_PER_RISCV_VECTOR * TARGET_MAX_LMUL,
poly_int64 (16, 16)))
return false;
which was introduced in r14-5917-g9f3f0b829b62f1.
I'm running the testsuite to see if it's still a problem. If so, let's see if
we can work around the issue differently.