OSDN Git Service

[X86][AVX] Combine non-lane crossing binary shuffles using X86ISD::VPERMV3
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 28 Apr 2019 14:31:01 +0000 (14:31 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 28 Apr 2019 14:31:01 +0000 (14:31 +0000)
commita53eda72ec68a3e23535e9e36fa45f7fc0e7ed93
tree597305a5f390b21ae239e7a00bbf06f09c58f99d
parent750719fb74b9e3fc9f4030a9df288345a6513262
[X86][AVX] Combine non-lane crossing binary shuffles using X86ISD::VPERMV3

Some of the combines might be further improved if we lower more shuffles with X86ISD::VPERMV3 directly, instead of waiting to combine the results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359400 91177308-0d34-0410-b5e6-96231b3b80d8
24 files changed:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avx512-shuffles/partial_permute.ll
test/CodeGen/X86/insertelement-ones.ll
test/CodeGen/X86/shuffle-strided-with-offset-256.ll
test/CodeGen/X86/shuffle-vs-trunc-256-widen.ll
test/CodeGen/X86/shuffle-vs-trunc-256.ll
test/CodeGen/X86/shuffle-vs-trunc-512-widen.ll
test/CodeGen/X86/shuffle-vs-trunc-512.ll
test/CodeGen/X86/vec_smulo.ll
test/CodeGen/X86/vec_umulo.ll
test/CodeGen/X86/vector-fshl-256.ll
test/CodeGen/X86/vector-fshr-256.ll
test/CodeGen/X86/vector-shuffle-128-v16.ll
test/CodeGen/X86/vector-shuffle-128-v4.ll
test/CodeGen/X86/vector-shuffle-128-v8.ll
test/CodeGen/X86/vector-shuffle-256-v16.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll
test/CodeGen/X86/vector-shuffle-256-v4.ll
test/CodeGen/X86/vector-shuffle-256-v8.ll
test/CodeGen/X86/vector-shuffle-512-v64.ll
test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
test/CodeGen/X86/vector-shuffle-v1.ll
test/CodeGen/X86/vector-trunc-widen.ll
test/CodeGen/X86/vector-trunc.ll