summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-10-03 09:54:03 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-10-03 09:54:03 +0000
commit640fbf5132c5cb171044cebd16888673cc3b3fdf (patch)
treeed54c84b88eb16cfc07b904626ab518990bbee85 /llvm/lib/Target/X86/X86ISelLowering.cpp
parent19d535e75bc13de7e0f8dd51124de6cc1114332d (diff)
downloadbcm5719-llvm-640fbf5132c5cb171044cebd16888673cc3b3fdf.tar.gz
bcm5719-llvm-640fbf5132c5cb171044cebd16888673cc3b3fdf.zip
[X86][SSE] Add support for shuffle combining from PACKSS/PACKUS
Mentioned in D38472 llvm-svn: 314777
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 3dd4d74ca40..4ba5c2c8c8d 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -31918,6 +31918,10 @@ static SDValue combineVectorPack(SDNode *N, SelectionDAG &DAG,
return getConstVector(Bits, Undefs, VT.getSimpleVT(), DAG, SDLoc(N));
}
+ // Attempt to combine as shuffle.
+ SDValue Op(N, 0);
+ combineX86ShufflesRecursively({Op}, 0, Op, {0}, {}, /*Depth*/ 1,
+ /*HasVarMask*/ false, DAG, DCI, Subtarget);
return SDValue();
}
OpenPOWER on IntegriCloud