diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-02-01 16:02:12 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-02-01 16:02:12 +0000 |
commit | 85184017e9f74b6bbf64e5441b001a8636ef97bf (patch) | |
tree | bd7b855325d6d1c796460f3f532e9fc48d43660a /llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp | |
parent | 9fb113e21819ea20565f8d6b958823531b2ab040 (diff) | |
download | llvm-85184017e9f74b6bbf64e5441b001a8636ef97bf.zip llvm-85184017e9f74b6bbf64e5441b001a8636ef97bf.tar.gz llvm-85184017e9f74b6bbf64e5441b001a8636ef97bf.tar.bz2 |
[X86][SSE] Use PSLLDQ/PSRLDQ to mask out zeroable ends of a shuffle
As suggested on PR40318, this patch uses PSLLDQ/PSRLDQ to lower shuffles to zero out the ends of a vector, leaving a sequential inner section.
For pre-SSSE3 we do this for shuffles with zeros at either end (requiring up to 3 shifts), but once PSHUFB is available I've limited this to shuffles with a single zeroable end (2 shifts).
Differential Revision: https://reviews.llvm.org/D56784
llvm-svn: 352883
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp')
0 files changed, 0 insertions, 0 deletions