[PATCH] D71636: [AArch64][SVE][WIP] Add support for vscale constants (?)
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 9 15:17:25 PST 2020
efriedma added a comment.
In D71636#1807522 <https://reviews.llvm.org/D71636#1807522>, @simoll wrote:
> > My current thinking for shuffles is that we shouldn't represent the shuffle mask of shufflevector as a Constant at all.
>
> If shuffle masks are no longer IR entities, this means ruling out computed shuffle masks in the future, which are available on some targets (X86). Whether we want computed shuffle masks at all is a different question.
Yes, this is kind of a decision point: either we allow computed shufflemasks, or we get rid of the operand altogether. Or we can introduce some intrinsics and put off the decision, I guess.
I don't think there's much incentive to support computed shuffle masks. Yes, x86 has pshufb, but that doesn't generalize to other element widths/two source vectors/etc. easily. And there aren't very many practical use cases for computed shuffles in automatic vectorization.
If we allow computed shuffle masks, there's also the minor complication that we'd have to change shufflevector to produce poison, not undef, for undef indexes. But we can likely change that with some work...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71636/new/
https://reviews.llvm.org/D71636
More information about the llvm-commits
mailing list