Hi! On 15 Jul 12:39, Ilya Enkovich wrote: > 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.
LGTM. -- Thanks, K > > Thanks, > Ilya > > > > > jeff > >