> 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.
vec-tests-avx2_fixes-3.patch
Description: Binary data