| @@ -1051,11 +1051,14 @@ int get_cpuname(void){ | |||||
| case 3: | case 3: | ||||
| switch (model) { | switch (model) { | ||||
| case 10: | case 10: | ||||
| case 14: | |||||
| // Ivy Bridge | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CPUTYPE_SANDYBRIDGE; | return CPUTYPE_SANDYBRIDGE; | ||||
| else | else | ||||
| return CPUTYPE_NEHALEM; | return CPUTYPE_NEHALEM; | ||||
| case 12: | case 12: | ||||
| case 15: | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CPUTYPE_HASWELL; | return CPUTYPE_HASWELL; | ||||
| else | else | ||||
| @@ -1065,6 +1068,7 @@ int get_cpuname(void){ | |||||
| case 4: | case 4: | ||||
| switch (model) { | switch (model) { | ||||
| case 5: | case 5: | ||||
| case 6: | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CPUTYPE_HASWELL; | return CPUTYPE_HASWELL; | ||||
| else | else | ||||
| @@ -1457,11 +1461,13 @@ int get_coretype(void){ | |||||
| case 3: | case 3: | ||||
| switch (model) { | switch (model) { | ||||
| case 10: | case 10: | ||||
| case 14: | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CORE_SANDYBRIDGE; | return CORE_SANDYBRIDGE; | ||||
| else | else | ||||
| return CORE_NEHALEM; //OS doesn't support AVX | return CORE_NEHALEM; //OS doesn't support AVX | ||||
| case 12: | case 12: | ||||
| case 15: | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CORE_HASWELL; | return CORE_HASWELL; | ||||
| else | else | ||||
| @@ -1471,6 +1477,7 @@ int get_coretype(void){ | |||||
| case 4: | case 4: | ||||
| switch (model) { | switch (model) { | ||||
| case 5: | case 5: | ||||
| case 6: | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return CORE_HASWELL; | return CORE_HASWELL; | ||||
| else | else | ||||
| @@ -186,7 +186,7 @@ static gotoblas_t *get_coretype(void){ | |||||
| return NULL; | return NULL; | ||||
| case 3: | case 3: | ||||
| //Intel Sandy Bridge 22nm (Ivy Bridge?) | //Intel Sandy Bridge 22nm (Ivy Bridge?) | ||||
| if (model == 10) { | |||||
| if (model == 10 || model == 14) { | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return &gotoblas_SANDYBRIDGE; | return &gotoblas_SANDYBRIDGE; | ||||
| else{ | else{ | ||||
| @@ -195,7 +195,7 @@ static gotoblas_t *get_coretype(void){ | |||||
| } | } | ||||
| } | } | ||||
| //Intel Haswell | //Intel Haswell | ||||
| if (model == 12) { | |||||
| if (model == 12 || model == 15) { | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return &gotoblas_HASWELL; | return &gotoblas_HASWELL; | ||||
| else{ | else{ | ||||
| @@ -206,7 +206,7 @@ static gotoblas_t *get_coretype(void){ | |||||
| return NULL; | return NULL; | ||||
| case 4: | case 4: | ||||
| //Intel Haswell | //Intel Haswell | ||||
| if (model == 5) { | |||||
| if (model == 5 || model == 6) { | |||||
| if(support_avx()) | if(support_avx()) | ||||
| return &gotoblas_HASWELL; | return &gotoblas_HASWELL; | ||||
| else{ | else{ | ||||