@@ -1147,6 +1147,16 @@ int get_cpuname(void){ | |||||
return CPUTYPE_HASWELL; | return CPUTYPE_HASWELL; | ||||
#else | #else | ||||
return CPUTYPE_SANDYBRIDGE; | return CPUTYPE_SANDYBRIDGE; | ||||
#endif | |||||
else | |||||
return CPUTYPE_NEHALEM; | |||||
case 14: | |||||
// Skylake | |||||
if(support_avx()) | |||||
#ifndef NO_AVX2 | |||||
return CPUTYPE_HASWELL; | |||||
#else | |||||
return CPUTYPE_SANDYBRIDGE; | |||||
#endif | #endif | ||||
else | else | ||||
return CPUTYPE_NEHALEM; | return CPUTYPE_NEHALEM; | ||||
@@ -1622,6 +1632,16 @@ int get_coretype(void){ | |||||
return CORE_HASWELL; | return CORE_HASWELL; | ||||
#else | #else | ||||
return CORE_SANDYBRIDGE; | return CORE_SANDYBRIDGE; | ||||
#endif | |||||
else | |||||
return CORE_NEHALEM; | |||||
case 14: | |||||
// Skylake | |||||
if(support_avx()) | |||||
#ifndef NO_AVX2 | |||||
return CORE_HASWELL; | |||||
#else | |||||
return CORE_SANDYBRIDGE; | |||||
#endif | #endif | ||||
else | else | ||||
return CORE_NEHALEM; | return CORE_NEHALEM; | ||||
@@ -263,6 +263,15 @@ static gotoblas_t *get_coretype(void){ | |||||
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels. | return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels. | ||||
} | } | ||||
} | } | ||||
//Intel Skylake | |||||
if (model == 14) { | |||||
if(support_avx()) | |||||
return &gotoblas_HASWELL; | |||||
else{ | |||||
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK); | |||||
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels. | |||||
} | |||||
} | |||||
return NULL; | return NULL; | ||||
} | } | ||||
case 0xf: | case 0xf: | ||||