Merge pull request #3083 from martin-frbg/develop
Add DYNAMIC_LIST support for ARM64
This commit is contained in:
commit
85be43e0df
|
@ -625,6 +625,11 @@ DYNAMIC_CORE += THUNDERX2T99
|
||||||
DYNAMIC_CORE += TSV110
|
DYNAMIC_CORE += TSV110
|
||||||
DYNAMIC_CORE += EMAG8180
|
DYNAMIC_CORE += EMAG8180
|
||||||
DYNAMIC_CORE += THUNDERX3T110
|
DYNAMIC_CORE += THUNDERX3T110
|
||||||
|
ifdef DYNAMIC_LIST
|
||||||
|
override DYNAMIC_CORE = ARMV8 $(DYNAMIC_LIST)
|
||||||
|
XCCOMMON_OPT = -DDYNAMIC_LIST -DDYN_ARMV8
|
||||||
|
XCCOMMON_OPT += $(foreach dcore,$(DYNAMIC_LIST),-DDYN_$(dcore))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH), mips64)
|
ifeq ($(ARCH), mips64)
|
||||||
|
|
|
@ -45,6 +45,9 @@ endif ()
|
||||||
if (DYNAMIC_ARCH)
|
if (DYNAMIC_ARCH)
|
||||||
if (ARM64)
|
if (ARM64)
|
||||||
set(DYNAMIC_CORE ARMV8 CORTEXA53 CORTEXA57 CORTEXA72 CORTEXA73 FALKOR THUNDERX THUNDERX2T99 TSV110 EMAG8180 NEOVERSEN1 THUNDERX3T110)
|
set(DYNAMIC_CORE ARMV8 CORTEXA53 CORTEXA57 CORTEXA72 CORTEXA73 FALKOR THUNDERX THUNDERX2T99 TSV110 EMAG8180 NEOVERSEN1 THUNDERX3T110)
|
||||||
|
if (DYNAMIC_LIST)
|
||||||
|
set(DYNAMIC_CORE ARMV8 ${DYNAMIC_LIST})
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (POWER)
|
if (POWER)
|
||||||
|
|
|
@ -43,6 +43,63 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern gotoblas_t gotoblas_ARMV8;
|
extern gotoblas_t gotoblas_ARMV8;
|
||||||
|
#ifdef DYNAMIC_LIST
|
||||||
|
#ifdef DYN_CORTEXA53
|
||||||
|
extern gotoblas_t gotoblas_CORTEXA53;
|
||||||
|
#else
|
||||||
|
#define gotoblas_CORTEXA53 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_CORTEXA57
|
||||||
|
extern gotoblas_t gotoblas_CORTEXA57;
|
||||||
|
#else
|
||||||
|
#define gotoblas_CORTEXA57 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_CORTEXA72
|
||||||
|
extern gotoblas_t gotoblas_CORTEXA72;
|
||||||
|
#else
|
||||||
|
#define gotoblas_CORTEXA72 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_CORTEXA73
|
||||||
|
extern gotoblas_t gotoblas_CORTEXA73;
|
||||||
|
#else
|
||||||
|
#define gotoblas_CORTEXA73 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_FALKOR
|
||||||
|
extern gotoblas_t gotoblas_FALKOR;
|
||||||
|
#else
|
||||||
|
#define gotoblas_FALKOR gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_TSV110
|
||||||
|
extern gotoblas_t gotoblas_TSV110;
|
||||||
|
#else
|
||||||
|
#define gotoblas_TSV110 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_THUNDERX
|
||||||
|
extern gotoblas_t gotoblas_THUNDERX;
|
||||||
|
#else
|
||||||
|
#define gotoblas_THUNDERX gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_THUNDERX2T99
|
||||||
|
extern gotoblas_t gotoblas_THUNDERX2T99;
|
||||||
|
#else
|
||||||
|
#define gotoblas_THUNDERX2T99 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_THUNDERX3T110
|
||||||
|
extern gotoblas_t gotoblas_THUNDERX3T110;
|
||||||
|
#else
|
||||||
|
#define gotoblas_THUNDERX3T110 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_EMAG8180
|
||||||
|
extern gotoblas_t gotoblas_EMAG8180;
|
||||||
|
#else
|
||||||
|
#define gotoblas_EMAG8180 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_NEOVERSEN1
|
||||||
|
extern gotoblas_t gotoblas_NEOVERSEN1;
|
||||||
|
#else
|
||||||
|
#define gotoblas_NEOVERSEN1 gotoblas_ARMV8
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
extern gotoblas_t gotoblas_CORTEXA53;
|
extern gotoblas_t gotoblas_CORTEXA53;
|
||||||
extern gotoblas_t gotoblas_CORTEXA57;
|
extern gotoblas_t gotoblas_CORTEXA57;
|
||||||
extern gotoblas_t gotoblas_CORTEXA72;
|
extern gotoblas_t gotoblas_CORTEXA72;
|
||||||
|
@ -54,6 +111,7 @@ extern gotoblas_t gotoblas_TSV110;
|
||||||
extern gotoblas_t gotoblas_EMAG8180;
|
extern gotoblas_t gotoblas_EMAG8180;
|
||||||
extern gotoblas_t gotoblas_NEOVERSEN1;
|
extern gotoblas_t gotoblas_NEOVERSEN1;
|
||||||
extern gotoblas_t gotoblas_THUNDERX3T110;
|
extern gotoblas_t gotoblas_THUNDERX3T110;
|
||||||
|
#endif
|
||||||
|
|
||||||
extern void openblas_warning(int verbose, const char * msg);
|
extern void openblas_warning(int verbose, const char * msg);
|
||||||
|
|
||||||
|
@ -68,7 +126,7 @@ extern void openblas_warning(int verbose, const char * msg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define get_cpu_ftr(id, var) ({ \
|
#define get_cpu_ftr(id, var) ({ \
|
||||||
__asm__ __volatile__("mrs %0, "#id : "=r" (var)); \
|
__asm__ ("mrs %0, "#id : "=r" (var)); \
|
||||||
})
|
})
|
||||||
|
|
||||||
static char *corename[] = {
|
static char *corename[] = {
|
||||||
|
|
Loading…
Reference in New Issue