[PATCH] D14399: [X86][SSE] Combine UNPCKL with vector_shuffle into UNPCKH to save one instruction for sext from v16i8 to v16i16 and v8i16 to v8i32.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 13 10:10:17 PST 2015
RKSimon accepted this revision.
RKSimon added a comment.
This revision is now accepted and ready to land.
Sorry for the delay, I've been away this week. I have a couple of minor queries but overall I'm happy with this patch (and the code improvements) - thank you.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:22774
@@ +22773,3 @@
+ if (Op0.getOpcode() == ISD::UNDEF &&
+ Op1.getNode()->getOpcode() == ISD::VECTOR_SHUFFLE) {
+ ArrayRef<int> Mask = cast<ShuffleVectorSDNode>(Op1.getNode())->getMask();
----------------
Are you just seeing cases with ISD::VECTOR_SHUFFLE? I'd have expected some to be using X86 shuffle nodes as well.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:22782
@@ +22781,3 @@
+
+ auto ShufOp = Op1.getNode()->getOperand(0);
+ if (isShuffleEquivalent(Op1, ShufOp, Mask, ExpectedMask))
----------------
auto ShufOp = Op1.getOperand(0);
http://reviews.llvm.org/D14399
More information about the llvm-commits
mailing list