OSDN Git Service

[X86] Prefer VPERMQ over VPERM2F128 for any unary shuffle, not just the ones that...
authorCraig Topper <craig.topper@intel.com>
Fri, 15 Sep 2017 18:11:13 +0000 (18:11 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 15 Sep 2017 18:11:13 +0000 (18:11 +0000)
commit46f3eda2f5c0c84507b0a85c8604c019ed41d447
tree53f90898bb964d7a7215a9eae958a9bf68db7c6e
parentdab0bf59daf46976a0ea22be6e38a190f0116dc6
[X86] Prefer VPERMQ over VPERM2F128 for any unary shuffle, not just the ones that can be done with a insertf128

The early out for AVX2 in lowerV2X128VectorShuffle is positioned in a weird spot below some shuffle mask equivalency checks.

But I think we want to allow VPERMQ for any unary shuffle.

Differential Revision: https://reviews.llvm.org/D37893

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313373 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avx-vperm2x128.ll
test/CodeGen/X86/avx512-shuffles/partial_permute.ll
test/CodeGen/X86/vector-shuffle-256-v8.ll