@@ -52,10 +52,11 @@ extern gotoblas_t gotoblas_THUNDERX;
5252extern gotoblas_t gotoblas_THUNDERX2T99 ;
5353extern gotoblas_t gotoblas_TSV110 ;
5454extern gotoblas_t gotoblas_EMAG8180 ;
55+ extern gotoblas_t gotoblas_NEOVERSEN1 ;
5556
5657extern void openblas_warning (int verbose , const char * msg );
5758
58- #define NUM_CORETYPES 10
59+ #define NUM_CORETYPES 11
5960
6061/*
6162 * In case asm/hwcap.h is outdated on the build system, make sure
@@ -80,6 +81,7 @@ static char *corename[] = {
8081 "thunderx2t99" ,
8182 "tsv110" ,
8283 "emag8180" ,
84+ "neoversen1" ,
8385 "unknown"
8486};
8587
@@ -94,6 +96,7 @@ char *gotoblas_corename(void) {
9496 if (gotoblas == & gotoblas_THUNDERX2T99 ) return corename [ 7 ];
9597 if (gotoblas == & gotoblas_TSV110 ) return corename [ 8 ];
9698 if (gotoblas == & gotoblas_EMAG8180 ) return corename [ 9 ];
99+ if (gotoblas == & gotoblas_NEOVERSEN1 ) return corename [10 ];
97100 return corename [NUM_CORETYPES ];
98101}
99102
@@ -123,6 +126,7 @@ static gotoblas_t *force_coretype(char *coretype) {
123126 case 7 : return (& gotoblas_THUNDERX2T99 );
124127 case 8 : return (& gotoblas_TSV110 );
125128 case 9 : return (& gotoblas_EMAG8180 );
129+ case 10 : return (& gotoblas_NEOVERSEN1 );
126130 }
127131 snprintf (message , 128 , "Core not found: %s\n" , coretype );
128132 openblas_warning (1 , message );
@@ -168,6 +172,8 @@ static gotoblas_t *get_coretype(void) {
168172 return & gotoblas_CORTEXA72 ;
169173 case 0xd09 : // Cortex A73
170174 return & gotoblas_CORTEXA73 ;
175+ case 0xd0c : // Neoverse N1
176+ return & gotoblas_NEOVERSEN1 ;
171177 }
172178 break ;
173179 case 0x42 : // Broadcom
0 commit comments