[PATCH] D46957: [x86] Lower some trunc + shuffle patterns to vpmov[q|d][b|w]

Mikhail Dvoretckii via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 11 05:44:06 PDT 2018


mike.dvoretsky added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:9417
+  // The rest of the mask should not refer to the truncated vector's elements.
+  if (isAnyInRange(Mask.slice(Split, Size - Split), TruncatedVectorStart,
+                   TruncatedVectorStart + Size))
----------------
RKSimon wrote:
> I still don't get why you don't want to just use isUndefOrInRange with the 'safe' vector range.
Due to SwappedOps, the 'safe' range may be before or after the 'unsafe' one, so in this case catching unsafe values is tidier. To use isUndefOrInRange we'd first have to define whether we accept elements in [Size, 2*Size) or in [0, Size). If you keep insisting, I may do that, but at the moment I don't see much benefit in that.


https://reviews.llvm.org/D46957





More information about the llvm-commits mailing list