On Fri, Oct 2, 2015 at 6:12 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > Hello, > > Patch in the bottom introduces cpuid detection > for Skylake CPU supporting AVX-512. > > Bootstrapped. Changed test pass. Is it ok for trunk? > > libgcc/ > * libgcc/config/i386/cpuinfo.c (get_intel_cpu): Detect > "skylake-avx512". > > gcc/testsuite/ > * gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".
OK. Thanks, Uros. > -- > Thanks, K > > commit 230beb0d31a9463c8339975580142298138442f6 > Author: Kirill Yukhin <kirill.yuk...@intel.com> > Date: Fri Oct 2 19:03:21 2015 +0300 > > AVX-512. Add family/model to cpuinfo.c. > > diff --git a/gcc/testsuite/gcc.target/i386/builtin_target.c > b/gcc/testsuite/gcc.target/i386/builtin_target.c > index a9a8753..82357a7 100644 > --- a/gcc/testsuite/gcc.target/i386/builtin_target.c > +++ b/gcc/testsuite/gcc.target/i386/builtin_target.c > @@ -91,6 +91,11 @@ check_intel_cpu_model (unsigned int family, unsigned int > model, > assert (__builtin_cpu_is ("corei7")); > assert (__builtin_cpu_is ("skylake")); > break; > + case 0x55: > + /* Skylake with AVX-512 support. */ > + assert (__builtin_cpu_is ("corei7")); > + assert (__builtin_cpu_is ("skylake-avx512")); > + break; > case 0x17: > case 0x1d: > /* Penryn. */ > diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c > index 40ed84c..0cbbc85 100644 > --- a/libgcc/config/i386/cpuinfo.c > +++ b/libgcc/config/i386/cpuinfo.c > @@ -78,6 +78,7 @@ enum processor_subtypes > INTEL_COREI7_HASWELL, > INTEL_COREI7_BROADWELL, > INTEL_COREI7_SKYLAKE, > + INTEL_COREI7_SKYLAKE_AVX512, > CPU_SUBTYPE_MAX > }; > > @@ -260,6 +261,11 @@ get_intel_cpu (unsigned int family, unsigned int model, > unsigned int brand_id) > __cpu_model.__cpu_type = INTEL_COREI7; > __cpu_model.__cpu_subtype = INTEL_COREI7_SKYLAKE; > break; > + case 0x55: > + /* Skylake with AVX-512 support. */ > + __cpu_model.__cpu_type = INTEL_COREI7; > + __cpu_model.__cpu_subtype = INTEL_COREI7_SKYLAKE_AVX512; > + break; > case 0x17: > case 0x1d: > /* Penryn. */