@@ -855,6 +855,17 @@ const char *host_detect_local_cpu (int argc, const char **argv)
/* Cannon Lake. */
cpu = "cannonlake";
break;
+ case 0x6a:
+ case 0x6c:
+ /* Icelake Server. */
+ cpu = "icelake-server";
+ break;
+ case 0x7d:
+ case 0x7e:
+ case 0x9d:
+ /* Icelake Client. */
+ cpu = "icelake-client";
+ break;
case 0x85:
/* Knights Mill. */
cpu = "knm";
@@ -124,6 +124,17 @@ check_intel_cpu_model (unsigned int family, unsigned int model,
/* Cannon Lake. */
assert (__builtin_cpu_is ("cannonlake"));
break;
+ case 0x7d:
+ case 0x7e:
+ case 0x9d:
+ /* Icelake Client. */
+ assert (__builtin_cpu_is ("icelake-client"));
+ break;
+ case 0x6a:
+ case 0x6c:
+ /* Icelake Server. */
+ assert (__builtin_cpu_is ("icelake-server"));
+ break;
case 0x17:
case 0x1d:
/* Penryn. */
@@ -232,6 +232,19 @@ 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_CANNONLAKE;
break;
+ case 0x7d:
+ case 0x7e:
+ case 0x9d:
+ /* Icelake Client. */
+ __cpu_model.__cpu_type = INTEL_COREI7;
+ __cpu_model.__cpu_subtype = INTEL_COREI7_ICELAKE_CLIENT;
+ break;
+ case 0x6a:
+ case 0x6c:
+ /* Icelake Server. */
+ __cpu_model.__cpu_type = INTEL_COREI7;
+ __cpu_model.__cpu_subtype = INTEL_COREI7_ICELAKE_SERVER;
+ break;
case 0x17:
case 0x1d:
/* Penryn. */