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". -- 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. */