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.

Reply via email to