> Meh.  This seems excruciatingly error prone.
>
> I think we should simply re-write the test cases so that it doesn't
> matter how many times we see a particular string.  Don't combine so
> many (potentially vectorizable) loops within a test case that it matters.

Some rework on tests looks better to me too - actually, recently
commited array sizes increase was intended to partly solve this
problem.
Though, in some cases it isn't enough - e.g. when a test checks if an
access is aligned (it could be aligned to 128-bit, but not to
256-bit).

I attach a patch, where I changed dg-scans in several tests: where
possible, I tried to replace dg-scan-times with dg-scan, also avoided
use of 'vect_multiple_size' due to problems discussed above.

This patch fixes all fails in vect.exp, which occur when '-mavx2' is
used, except one (see PR51508). There are still fails when
'-mprefer-avx128' is specified, but I think we could return to this
issue later.

Is it ok for trunk?

Changelog:
2011-12-14  Michael Zolotukhin  <michael.v.zolotuk...@intel.com>

        * gcc.dg/vect/no-section-anchors-vect-31.c: Adjust array size and test
        diag-scans to fix fail on AVX.
        * gcc.dg/vect/no-section-anchors-vect-36.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
        * gcc.dg/vect/no-vfa-vect-dv-2.c: Adjust dg-scans.
        * gcc.dg/vect/pr45752.c: Ditto.
        * gcc.dg/vect/slp-perm-4.c: Ditto.
        * gcc.dg/vect/slp-perm-9.c: Ditto.
        * gcc.dg/vect/vect-33.c: Ditto.
        * gcc.dg/vect/vect-35.c: Ditto.
        * gcc.dg/vect/vect-6-big-array.c: Ditto.
        * gcc.dg/vect/vect-6.c: Ditto.
        * gcc.dg/vect/vect-91.c: Ditto.
        * gcc.dg/vect/vect-all-big-array.c: Ditto.
        * gcc.dg/vect/vect-all.c: Ditto.
        * gcc.dg/vect/vect-multitypes-1.c: Ditto.
        * gcc.dg/vect/vect-outer-4c.c: Ditto.
        * gcc.dg/vect/vect-outer-5.c: Ditto.
        * gcc.dg/vect/vect-over-widen-1.c: Ditto.
        * gcc.dg/vect/vect-over-widen-3.c: Ditto.
        * gcc.dg/vect/vect-over-widen-4.c: Ditto.
        * gcc.dg/vect/vect-peel-1.c: Ditto.
        * gcc.dg/vect/vect-peel-2.c: Ditto.
        * gcc.dg/vect/vect-peel-3.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
        * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Ditto.
        * lib/target-supports.exp
(check_effective_target_vect_any_perm): New function.
        (check_avx_available): Ditto.
        (check_effective_target_vect_sizes_32B_16B): Ditto.
        (check_prefer_avx128_specified): Ditto.
        (check_effective_target_vect_aligned_arrays): Add handling of AVX.
        (check_effective_target_vect_multiple_sizes): Ditto.


On 13 December 2011 21:14, Richard Henderson <r...@redhat.com> wrote:
> On 12/12/2011 09:44 PM, Michael Zolotukhin wrote:
>> Should we introduce checks for each possible vector datatype (e.g.
>> vect_8byte_int_available, vect_16byte_int_available,
>> vect_32byte_int_available, vect_16byte_float_available,
>> vect_32byte_float_available etc.) along with a check for
>> prefer_something (e.g. vect_prefer_16byte)? Having such info, we'll be
>> able to distinguish all the cases, right?
>
> Meh.  This seems excruciatingly error prone.
>
> I think we should simply re-write the test cases so that it doesn't
> matter how many times we see a particular string.  Don't combine so
> many (potentially vectorizable) loops within a test case that it matters.
>
> r~

-- 
---
Best regards,
Michael V. Zolotukhin,
Software Engineer
Intel Corporation.

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

Reply via email to