diff --git a/cpuid_x86.c b/cpuid_x86.c index 6b6bc0f26..48ac1c134 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -1280,6 +1280,11 @@ int get_cpuname(void){ return CPUTYPE_PILEDRIVER; else return CPUTYPE_BARCELONA; //OS don't support AVX. + case 5: // New EXCAVATOR CPUS + if(support_avx()) + return CPUTYPE_EXCAVATOR; + else + return CPUTYPE_BARCELONA; //OS don't support AVX. case 0: switch(exmodel){ case 1: //AMD Trinity @@ -1786,7 +1791,11 @@ int get_coretype(void){ return CORE_PILEDRIVER; else return CORE_BARCELONA; //OS don't support AVX. - + case 5: // New EXCAVATOR + if(support_avx()) + return CORE_EXCAVATOR; + else + return CORE_BARCELONA; //OS don't support AVX. case 0: switch(exmodel){ case 1: //AMD Trinity diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 9bb96b76e..d569e7097 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -354,7 +354,14 @@ static gotoblas_t *get_coretype(void){ openblas_warning(FALLBACK_VERBOSE, BARCELONA_FALLBACK); return &gotoblas_BARCELONA; //OS doesn't support AVX. Use old kernels. } - }else if(model == 0){ + }else if(model == 5){ + if(support_avx()) + return &gotoblas_EXCAVATOR; + else{ + openblas_warning(FALLBACK_VERBOSE, BARCELONA_FALLBACK); + return &gotoblas_BARCELONA; //OS doesn't support AVX. Use old kernels. + } + }else if(model == 0){ if (exmodel == 1) { //AMD Trinity if(support_avx())