commit | 8259353e43b9bcabbce9f7cc03a0532ced124351 | [log] [tgz] |
---|---|---|
author | Simon Pilgrim <llvm-dev@redking.me.uk> | Sun Mar 11 16:28:11 2018 +0000 |
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | Sun Mar 11 16:28:11 2018 +0000 |
tree | bfc5096fa0f481e66c4a7f665627eef963a345e1 | |
parent | faa03756ee07f2ac87b0cab256d7bb6e02f458ea [diff] |
[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