[PATCH] D56784: [X86][SSE] Use PSLLDQ/PSRLDQ to mask out zeroable ends of a shuffle
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 29 05:37:07 PST 2019
RKSimon marked an inline comment as done.
RKSimon added inline comments.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:10921-10924
+ ArrayRef<int> StubMask = Mask.slice(ZeroLo, Len);
+ if (!isUndefOrInRange(StubMask, 0, NumElts) &&
+ !isUndefOrInRange(StubMask, NumElts, 2 * NumElts))
+ return SDValue();
----------------
spatel wrote:
> Could we do the simpler check/assert that V2 has been canonicalized to a zero constant?
Not easily, our shuffle mask canonicalization doesn't try to account for zero ops as it regresses shuffles in cases where we can't make use of it being zero.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56784/new/
https://reviews.llvm.org/D56784
More information about the llvm-commits
mailing list