[RISCV] Fix crash in lowerVECTOR_INTERLEAVE when VecVT is an LMUL=8 type.
authorCraig Topper <craig.topper@sifive.com>
Thu, 8 Jun 2023 15:41:22 +0000 (08:41 -0700)
committerCraig Topper <craig.topper@sifive.com>
Thu, 8 Jun 2023 15:41:38 +0000 (08:41 -0700)
commit167f2fa1b6df6feb9663fd083577b16eeea6299f
tree9d0f60904b78855e3cd5ab94e809872eb71f5a41
parent78f1a2ae26ee4dbfc1f8d7ddab098f326691a95e
[RISCV] Fix crash in lowerVECTOR_INTERLEAVE when VecVT is an LMUL=8 type.

If VecVT is an LMUL=8 VT, we can't concatenate the vectors as that
would create an illegal type. Instead we need to split the vectors
and emit two VECTOR_INTERLEAVE operations that can each be lowered.

Reviewed By: fakepaper56

Differential Revision: https://reviews.llvm.org/D152411
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll