[X86][AVX] createVariablePermute - use PSHUFB+PCMPGT+SELECT for v32i8 variable permutes

Same as the VPERMILPS/VPERMILPD approach for v8f32/v4f64 cases, rely on PSHUFB using bits[3:0] for indexing - we can ignore the sign bit (zero element) as those index vector values are considered undefined. The select between the lo/hi permute results based on the index size.

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