[PATCH] D51401: [X86] Add support for turning vXi1 shuffles into KSHIFTL/KSHIFTR.
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 30 08:35:47 PDT 2018
RKSimon added inline comments.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:15061
+ int MaskOffset, const APInt &Zeroable) {
+ int Size = Mask.size();
+
----------------
I guess merging this with matchVectorShuffleAsShift just messes everything up?
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:15075
+ unsigned Len = Size - Shift;
+ if (!isSequentialOrUndefInRange(Mask, Pos, Len, Low + MaskOffset))
+ return false;
----------------
return isSequentialOrUndefInRange(Mask, Pos, Len, Low + MaskOffset);
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:15143
+ return DAG.getNode(Opcode, DL, VT, V2,
+ DAG.getConstant(ShiftAmt, DL, MVT::i8));
+ }
----------------
Merge these two cases into a for loop?
https://reviews.llvm.org/D51401
More information about the llvm-commits
mailing list