@@ -99,6 +99,11 @@ extern gotoblas_t gotoblas_NEOVERSEN1;
9999#else
100100#define gotoblas_NEOVERSEN1 gotoblas_ARMV8
101101#endif
102+ #ifdef DYN_CORTEX_A55
103+ extern gotoblas_t gotoblas_CORTEXA55 ;
104+ #else
105+ #define gotoblas_CORTEXA55 gotoblas_ARMV8
106+ #endif
102107#else
103108extern gotoblas_t gotoblas_CORTEXA53 ;
104109extern gotoblas_t gotoblas_CORTEXA57 ;
@@ -111,11 +116,12 @@ extern gotoblas_t gotoblas_TSV110;
111116extern gotoblas_t gotoblas_EMAG8180 ;
112117extern gotoblas_t gotoblas_NEOVERSEN1 ;
113118extern gotoblas_t gotoblas_THUNDERX3T110 ;
119+ extern gotoblas_t gotoblas_CORTEXA55 ;
114120#endif
115121
116122extern void openblas_warning (int verbose , const char * msg );
117123
118- #define NUM_CORETYPES 12
124+ #define NUM_CORETYPES 13
119125
120126/*
121127 * In case asm/hwcap.h is outdated on the build system, make sure
@@ -142,6 +148,7 @@ static char *corename[] = {
142148 "emag8180" ,
143149 "neoversen1" ,
144150 "thunderx3t110" ,
151+ "cortexa55" ,
145152 "unknown"
146153};
147154
@@ -158,6 +165,7 @@ char *gotoblas_corename(void) {
158165 if (gotoblas == & gotoblas_EMAG8180 ) return corename [ 9 ];
159166 if (gotoblas == & gotoblas_NEOVERSEN1 ) return corename [10 ];
160167 if (gotoblas == & gotoblas_THUNDERX3T110 ) return corename [11 ];
168+ if (gotoblas == & gotoblas_CORTEXA55 ) return corename [12 ];
161169 return corename [NUM_CORETYPES ];
162170}
163171
@@ -189,6 +197,7 @@ static gotoblas_t *force_coretype(char *coretype) {
189197 case 9 : return (& gotoblas_EMAG8180 );
190198 case 10 : return (& gotoblas_NEOVERSEN1 );
191199 case 11 : return (& gotoblas_THUNDERX3T110 );
200+ case 12 : return (& gotoblas_CORTEXA55 );
192201 }
193202 snprintf (message , 128 , "Core not found: %s\n" , coretype );
194203 openblas_warning (1 , message );
@@ -247,6 +256,8 @@ static gotoblas_t *get_coretype(void) {
247256 return & gotoblas_CORTEXA73 ;
248257 case 0xd0c : // Neoverse N1
249258 return & gotoblas_NEOVERSEN1 ;
259+ case 0xd05 : // Cortex A55
260+ return & gotoblas_CORTEXA55 ;
250261 }
251262 break ;
252263 case 0x42 : // Broadcom
0 commit comments