This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] Adjust diag-scans in vect-tests to fix fails on AVX/AVX2


> 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 <rth@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]