aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2020-09-12 13:39:33 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2020-09-12 13:39:33 +0100
commit35dc91aee2013ce1a57dfee965fa5fdee1987ee0 (patch)
treeaf933a5f48ac8536dd35f4fc14be0db294db8710 /clang/lib/Frontend/CompilerInvocation.cpp
parent4ede83c06831adf5bf5e4a2abffd752615f643d0 (diff)
downloadllvm-35dc91aee2013ce1a57dfee965fa5fdee1987ee0.zip
llvm-35dc91aee2013ce1a57dfee965fa5fdee1987ee0.tar.gz
llvm-35dc91aee2013ce1a57dfee965fa5fdee1987ee0.tar.bz2
[X86][SSE] lowerShuffleAsDecomposedShuffleBlend - support decomposed unpacks for some vXi8/vXi16 cases
Follow up to D86429 to handle the remaining regressions. This patch generalizes lowerShuffleAsDecomposedShuffleBlend to lowerShuffleAsDecomposedShuffleMerge, and attempts to use an UNPCKL shuffle mask instead of a blend for the cases where the inputs are coming from alternating vXi8/vXi16 sources. Technically they don't have to be alternating (just as long as they can fit into a lower lane half for the unpack) but I didn't find as many general cases and it needed a lot more of the function to be altered. For vXi32/vXi64 cases this could still be beneficial but in most cases the existing permute+blend approach was better. Differential Revision: https://reviews.llvm.org/D87405
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions