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

Reply via email to