[X86] Bailout of lowerVectorShuffleAsPermuteAndUnpack for shuffle-with-zero (PR40306)

If we're shuffling with a zero vector, then we are better off not doing VECTOR_SHUFFLE(UNPCK()) as we lose track of those zero elements.

We were already doing this for SSSE3 targets as we have PSHUFB, but its worth doing for all targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351203 91177308-0d34-0410-b5e6-96231b3b80d8
3 files changed