diff --git a/driver/others/dynamic_arm64.c b/driver/others/dynamic_arm64.c index f8fc5e540..d88b1da40 100644 --- a/driver/others/dynamic_arm64.c +++ b/driver/others/dynamic_arm64.c @@ -99,6 +99,11 @@ extern gotoblas_t gotoblas_NEOVERSEN1; #else #define gotoblas_NEOVERSEN1 gotoblas_ARMV8 #endif +#ifdef DYN_NEOVERSEV1 +extern gotoblas_t gotoblas_NEOVERSEV1; +#else +#define gotoblas_NEOVERSEV1 gotoblas_ARMV8 +#endif #ifdef DYN_NEOVERSEN2 extern gotoblas_t gotoblas_NEOVERSEN2; #else @@ -120,6 +125,7 @@ extern gotoblas_t gotoblas_THUNDERX2T99; extern gotoblas_t gotoblas_TSV110; extern gotoblas_t gotoblas_EMAG8180; extern gotoblas_t gotoblas_NEOVERSEN1; +extern gotoblas_t gotoblas_NEOVERSEV1; extern gotoblas_t gotoblas_NEOVERSEN2; extern gotoblas_t gotoblas_THUNDERX3T110; extern gotoblas_t gotoblas_CORTEXA55; @@ -172,6 +178,7 @@ char *gotoblas_corename(void) { if (gotoblas == &gotoblas_TSV110) return corename[ 8]; if (gotoblas == &gotoblas_EMAG8180) return corename[ 9]; if (gotoblas == &gotoblas_NEOVERSEN1) return corename[10]; + if (gotoblas == &gotoblas_NEOVERSEV1) return corename[11]; if (gotoblas == &gotoblas_NEOVERSEN2) return corename[12]; if (gotoblas == &gotoblas_THUNDERX3T110) return corename[13]; if (gotoblas == &gotoblas_CORTEXA55) return corename[14]; @@ -205,8 +212,10 @@ static gotoblas_t *force_coretype(char *coretype) { case 8: return (&gotoblas_TSV110); case 9: return (&gotoblas_EMAG8180); case 10: return (&gotoblas_NEOVERSEN1); - case 11: return (&gotoblas_THUNDERX3T110); - case 12: return (&gotoblas_CORTEXA55); + case 11: return (&gotoblas_NEOVERSEV1); + case 12: return (&gotoblas_NEOVERSEN2); + case 13: return (&gotoblas_THUNDERX3T110); + case 14: return (&gotoblas_CORTEXA55); } snprintf(message, 128, "Core not found: %s\n", coretype); openblas_warning(1, message); @@ -267,6 +276,8 @@ static gotoblas_t *get_coretype(void) { return &gotoblas_NEOVERSEN1; case 0xd49: return &gotoblas_NEOVERSEN2; + case 0xd40: + return &gotoblas_NEOVERSEV1; case 0xd05: // Cortex A55 return &gotoblas_CORTEXA55; }