This patch adds Knights Landing support to __builtin_cpu_is. gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model): Check Knights Landing support. libgcc/ * config/i386/cpuinfo.c (processor_types): Add INTEL_KNL. (get_intel_cpu): Add Knights Landing support. --- gcc/testsuite/gcc.target/i386/builtin_target.c | 4 ++++ libgcc/config/i386/cpuinfo.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gcc/testsuite/gcc.target/i386/builtin_target.c b/gcc/testsuite/gcc.target/i386/builtin_target.c index 4adea27..068db23 100644 --- a/gcc/testsuite/gcc.target/i386/builtin_target.c +++ b/gcc/testsuite/gcc.target/i386/builtin_target.c @@ -38,6 +38,10 @@ check_intel_cpu_model (unsigned int family, unsigned int model, /* Silvermont. */ assert (__builtin_cpu_is ("silvermont")); break; + case 0x57: + /* Knights Landing. */ + assert (__builtin_cpu_is ("knl")); + break; case 0x1a: case 0x1e: case 0x1f: diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 25d85e4..b7b11de 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -56,6 +56,7 @@ enum processor_types AMDFAM10H, AMDFAM15H, INTEL_SILVERMONT, + INTEL_KNL, AMD_BTVER1, AMD_BTVER2, CPU_TYPE_MAX @@ -197,6 +198,10 @@ get_intel_cpu (unsigned int family, unsigned int model, unsigned int brand_id) /* Silvermont. */ __cpu_model.__cpu_type = INTEL_SILVERMONT; break; + case 0x57: + /* Knights Landing. */ + __cpu_model.__cpu_type = INTEL_KNL; + break; case 0x1a: case 0x1e: case 0x1f: -- 2.4.3