|
|
|
@@ -99,6 +99,11 @@ extern gotoblas_t gotoblas_NEOVERSEN1; |
|
|
|
#else |
|
|
|
#define gotoblas_NEOVERSEN1 gotoblas_ARMV8 |
|
|
|
#endif |
|
|
|
#ifdef DYN_CORTEX_A55 |
|
|
|
extern gotoblas_t gotoblas_CORTEXA55; |
|
|
|
#else |
|
|
|
#define gotoblas_NEOVERSEN1 gotoblas_ARMV8 |
|
|
|
#endif |
|
|
|
#else |
|
|
|
extern gotoblas_t gotoblas_CORTEXA53; |
|
|
|
extern gotoblas_t gotoblas_CORTEXA57; |
|
|
|
@@ -111,11 +116,12 @@ extern gotoblas_t gotoblas_TSV110; |
|
|
|
extern gotoblas_t gotoblas_EMAG8180; |
|
|
|
extern gotoblas_t gotoblas_NEOVERSEN1; |
|
|
|
extern gotoblas_t gotoblas_THUNDERX3T110; |
|
|
|
extern gotoblas_t gotoblas_CORTEXA55; |
|
|
|
#endif |
|
|
|
|
|
|
|
extern void openblas_warning(int verbose, const char * msg); |
|
|
|
|
|
|
|
#define NUM_CORETYPES 12 |
|
|
|
#define NUM_CORETYPES 13 |
|
|
|
|
|
|
|
/* |
|
|
|
* In case asm/hwcap.h is outdated on the build system, make sure |
|
|
|
@@ -142,6 +148,7 @@ static char *corename[] = { |
|
|
|
"emag8180", |
|
|
|
"neoversen1", |
|
|
|
"thunderx3t110", |
|
|
|
"cortexa55", |
|
|
|
"unknown" |
|
|
|
}; |
|
|
|
|
|
|
|
@@ -158,6 +165,7 @@ char *gotoblas_corename(void) { |
|
|
|
if (gotoblas == &gotoblas_EMAG8180) return corename[ 9]; |
|
|
|
if (gotoblas == &gotoblas_NEOVERSEN1) return corename[10]; |
|
|
|
if (gotoblas == &gotoblas_THUNDERX3T110) return corename[11]; |
|
|
|
if (gotoblas == &gotoblas_CORTEXA55) return corename[12]; |
|
|
|
return corename[NUM_CORETYPES]; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -189,6 +197,7 @@ static gotoblas_t *force_coretype(char *coretype) { |
|
|
|
case 9: return (&gotoblas_EMAG8180); |
|
|
|
case 10: return (&gotoblas_NEOVERSEN1); |
|
|
|
case 11: return (&gotoblas_THUNDERX3T110); |
|
|
|
case 12: return (&gotoblas_CORTEXA55); |
|
|
|
} |
|
|
|
snprintf(message, 128, "Core not found: %s\n", coretype); |
|
|
|
openblas_warning(1, message); |
|
|
|
@@ -247,6 +256,8 @@ static gotoblas_t *get_coretype(void) { |
|
|
|
return &gotoblas_CORTEXA73; |
|
|
|
case 0xd0c: // Neoverse N1 |
|
|
|
return &gotoblas_NEOVERSEN1; |
|
|
|
case 0xd05: // Cortex A55 |
|
|
|
return &gotoblas_CORTEXA55; |
|
|
|
} |
|
|
|
break; |
|
|
|
case 0x42: // Broadcom |
|
|
|
|