2016-07-14 20:32 GMT+03:00 Jeff Law <l...@redhat.com>: > On 07/05/2016 09:44 AM, Ilya Enkovich wrote: >> >> Hi, >> >> This patch adds several tests to check tails vectorization functionality. >> >> Thanks, >> Ilya >> -- >> gcc/testsuite/ >> >> 2016-07-05 Ilya Enkovich <ilya.enkov...@intel.com> >> >> * lib/target-supports.exp (check_avx2_hw_available): New. >> (check_effective_target_avx2_runtime): New. >> * gcc.dg/vect/vect-tail-combine-1.c: New test. >> * gcc.dg/vect/vect-tail-combine-2.c: New test. >> * gcc.dg/vect/vect-tail-combine-3.c: New test. >> * gcc.dg/vect/vect-tail-combine-4.c: New test. >> * gcc.dg/vect/vect-tail-combine-5.c: New test. >> * gcc.dg/vect/vect-tail-combine-6.c: New test. >> * gcc.dg/vect/vect-tail-combine-7.c: New test. >> * gcc.dg/vect/vect-tail-combine-9.c: New test. >> * gcc.dg/vect/vect-tail-mask-1.c: New test. >> * gcc.dg/vect/vect-tail-mask-2.c: New test. >> * gcc.dg/vect/vect-tail-mask-3.c: New test. >> * gcc.dg/vect/vect-tail-mask-4.c: New test. >> * gcc.dg/vect/vect-tail-mask-5.c: New test. >> * gcc.dg/vect/vect-tail-mask-6.c: New test. >> * gcc.dg/vect/vect-tail-mask-7.c: New test. >> * gcc.dg/vect/vect-tail-mask-8.c: New test. >> * gcc.dg/vect/vect-tail-mask-9.c: New test. >> * gcc.dg/vect/vect-tail-nomask-1.c: New test. >> * gcc.dg/vect/vect-tail-nomask-2.c: New test. >> * gcc.dg/vect/vect-tail-nomask-3.c: New test. >> * gcc.dg/vect/vect-tail-nomask-4.c: New test. >> * gcc.dg/vect/vect-tail-nomask-5.c: New test. >> * gcc.dg/vect/vect-tail-nomask-6.c: New test. >> * gcc.dg/vect/vect-tail-nomask-7.c: New test. > > This is fine when the rest of the patches go in. > > >> + unsigned int eax, ebx, ecx, edx; >> + if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx) >> + || ((ecx & bit_OSXSAVE) != bit_OSXSAVE)) >> + return 1; >> + >> + if (__get_cpuid_max (0, NULL) < 7) >> + return 1; >> + >> + __cpuid_count (7, 0, eax, ebx, ecx, edx); >> + >> + return (ebx & bit_AVX2) != bit_AVX2; > > Ugh. I'm going to trust this is correct. I vaguely recall mucking around > with this stuff for the original AVX in glibc several years ago.
Actually I just copied some code from avx2-check.h. Kirill should be able to review this piece of code. Thanks, Ilya > > jeff >