> 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.

Attachment: vec-tests-avx2_fixes-5.patch
Description: Binary data

Reply via email to