| @@ -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: | ||||