aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2020-08-18 11:11:58 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2020-08-18 11:11:58 +0100
commitd2057a8015e97b5e212f3963923dbdcce9356a8f (patch)
tree20298a2959511d734ee0915f27795f4c2c8598e2 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parenteaff200429a3dcf36eebfae39d2e859d6815285e (diff)
downloadllvm-d2057a8015e97b5e212f3963923dbdcce9356a8f.zip
llvm-d2057a8015e97b5e212f3963923dbdcce9356a8f.tar.gz
llvm-d2057a8015e97b5e212f3963923dbdcce9356a8f.tar.bz2
[X86][AVX] Lower v16i8/v8i16 binary shuffles using VTRUNC/TRUNCATE
This patch adds lowerShuffleWithVTRUNC to handle basic binary shuffles that can be lowered either as a pure ISD::TRUNCATE or a X86ISD::VTRUNC (with undef/zero values in the remaining upper elements). We concat the binary sources together into a single 256-bit source vector. To avoid regressions we perform this after we've tried to lower with PACKS/PACKUS which typically does a cleaner job than a concat. For non-AVX512VL cases we have to canonicalize VTRUNC cases to use a 512-bit source vectors (inserting undefs/zeros in the upper elements as necessary), truncate and then (possibly) extract the 128-bit result. This should address the last regressions in D66004 Differential Revision: https://reviews.llvm.org/D86093
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions