Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5811,6 +5811,11 @@ bool RISCVTargetLowering::isShuffleMaskLegal(ArrayRef<int> M, EVT VT) const {
if (SVT.getScalarType() == MVT::i1)
return false;

unsigned NumElts = M.size();
if (ShuffleVectorInst::isReverseMask(M, NumElts) &&
ShuffleVectorInst::isSingleSourceMask(M, NumElts))
return true;

int Dummy1, Dummy2;
return (isElementRotate(Dummy1, Dummy2, M) > 0) ||
isInterleaveShuffle(M, SVT, Dummy1, Dummy2, Subtarget);
Expand Down
Loading