diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-10-03 09:54:03 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-10-03 09:54:03 +0000 |
| commit | 640fbf5132c5cb171044cebd16888673cc3b3fdf (patch) | |
| tree | ed54c84b88eb16cfc07b904626ab518990bbee85 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | 19d535e75bc13de7e0f8dd51124de6cc1114332d (diff) | |
| download | bcm5719-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.cpp | 4 |
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(); } |

