> Well, ppc and spe support arbitrary permutation, which are the only other > two listed with vec_perm. > > As for i386, we support arbitrary permutation beginning with ssse3. > > So, don't add vect_any_perm. Use vec_perm and figure out what's really > wrong with slp-perm-9. Thanks, that's right, vect_perm could be used as indicator of arbitrary permutations support. Though we still need to distinguish whether constrained set of permutations or arbitrary ones are available. E.g., in vect-114.c we need permutation only for reversing vector elements, even ssse3 isn't required for it, while in slp-perm-9 such permutation isn't enough. To have both tests passing, we need to be able to distinguish both cases - and one vect_perm isn't enough for it. To make things more apparent, we could add, for instance, vect_reverse_perm (as it's done in attached patch) - that would be used in vect-114, while in slp-perm-9 we'll use vect_perm. Probably it's not good to introduce new checker for use in only one test, but if we use other ones to distinguish ssse3/avx case (e.g. vect_sizes_32B_16B), we could make it more confusing and complicated, as they don't reflect the real reason. Ok with such changes?
On 15 December 2011 22:32, Richard Henderson <r...@redhat.com> wrote: > On 12/15/2011 10:22 AM, Michael Zolotukhin wrote: >>> This is vect_perm. Why are you inventing a new one? >> As far as I understand, vect_perm is true if target supports at least >> some vector-permutation, while vect_any_perm is intended to be true if >> arbitrary permutation is supported (like in avx). It was introduced >> because vectorization began to occur on a previously unvectorizable >> loop in slp-perm-9.c when -mavx2 is specified. I think that's because >> broader range of permutations is available in this case, and that's >> why I introduced this checker. > > Well, ppc and spe support arbitrary permutation, which are the only other > two listed with vec_perm. > > As for i386, we support arbitrary permutation beginning with ssse3. > > So, don't add vect_any_perm. Use vec_perm and figure out what's really > wrong with slp-perm-9. > > > r~ -- --- Best regards, Michael V. Zolotukhin, Software Engineer Intel Corporation.
vec-tests-avx2_fixes-5.patch
Description: Binary data