Merge pull request #1639 from martin-frbg/dyn_list
Add DYNAMIC_LIST option for user-defined list of dynamic targets
This commit is contained in:
commit
d3c9eb4c7d
|
@ -497,6 +497,14 @@ endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef DYNAMIC_LIST
|
||||||
|
override DYNAMIC_CORE = PRESCOTT $(DYNAMIC_LIST)
|
||||||
|
XCCOMMON_OPT = -DDYNAMIC_LIST -DDYN_PRESCOTT
|
||||||
|
XCCOMMON_OPT += $(foreach dcore,$(DYNAMIC_LIST),-DDYN_$(dcore))
|
||||||
|
CCOMMON_OPT += $(XCCOMMON_OPT)
|
||||||
|
#CCOMMON_OPT += -DDYNAMIC_LIST='$(DYNAMIC_LIST)'
|
||||||
|
endif
|
||||||
|
|
||||||
# If DYNAMIC_CORE is not set, DYNAMIC_ARCH cannot do anything, so force it to empty
|
# If DYNAMIC_CORE is not set, DYNAMIC_ARCH cannot do anything, so force it to empty
|
||||||
ifndef DYNAMIC_CORE
|
ifndef DYNAMIC_CORE
|
||||||
override DYNAMIC_ARCH=
|
override DYNAMIC_ARCH=
|
||||||
|
|
|
@ -49,6 +49,167 @@
|
||||||
#define EXTERN
|
#define EXTERN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DYNAMIC_LIST
|
||||||
|
extern gotoblas_t gotoblas_PRESCOTT;
|
||||||
|
|
||||||
|
#ifdef DYN_ATHLON
|
||||||
|
extern gotoblas_t gotoblas_ATHLON;
|
||||||
|
#else
|
||||||
|
#define gotoblas_ATHLON gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_KATMAI
|
||||||
|
extern gotoblas_t gotoblas_KATMAI;
|
||||||
|
#else
|
||||||
|
#define gotoblas_KATMAI gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_BANIAS
|
||||||
|
extern gotoblas_t gotoblas_BANIAS;
|
||||||
|
#else
|
||||||
|
#define gotoblas_BANIAS gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_COPPERMINE
|
||||||
|
extern gotoblas_t gotoblas_COPPERMINE;
|
||||||
|
#else
|
||||||
|
#define gotoblas_COPPERMINE gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_NORTHWOOD
|
||||||
|
extern gotoblas_t gotoblas_NORTHWOOD;
|
||||||
|
#else
|
||||||
|
#define gotoblas_NORTHWOOD gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_CORE2
|
||||||
|
extern gotoblas_t gotoblas_CORE2;
|
||||||
|
#else
|
||||||
|
#define gotoblas_CORE2 gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_NEHALEM
|
||||||
|
extern gotoblas_t gotoblas_NEHALEM;
|
||||||
|
#else
|
||||||
|
#define gotoblas_NEHALEM gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_BARCELONA
|
||||||
|
extern gotoblas_t gotoblas_BARCELONA;
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_BARCELONA gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_BARCELONA gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_ATOM
|
||||||
|
extern gotoblas_t gotoblas_ATOM;
|
||||||
|
elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_ATOM gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_ATOM gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_NANO
|
||||||
|
extern gotoblas_t gotoblas_NANO;
|
||||||
|
#else
|
||||||
|
#define gotoblas_NANO gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_PENRYN
|
||||||
|
extern gotoblas_t gotoblas_PENRYN;
|
||||||
|
#else
|
||||||
|
#define gotoblas_PENRYN gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_DUNNINGTON
|
||||||
|
extern gotoblas_t gotoblas_DUNNINGTON;
|
||||||
|
#else
|
||||||
|
#define gotoblas_DUNNINGTON gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_OPTERON
|
||||||
|
extern gotoblas_t gotoblas_OPTERON;
|
||||||
|
#else
|
||||||
|
#define gotoblas_OPTERON gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_OPTERON_SSE3
|
||||||
|
extern gotoblas_t gotoblas_OPTERON_SSE3;
|
||||||
|
#else
|
||||||
|
#define gotoblas_OPTERON_SSE3 gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_BOBCAT
|
||||||
|
extern gotoblas_t gotoblas_BOBCAT;
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_BOBCAT gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_BOBCAT gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_SANDYBRIDGE
|
||||||
|
extern gotoblas_t gotoblas_SANDYBRIDGE;
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_SANDYBRIDGE gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_SANDYBRIDGE gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_BULLDOZER
|
||||||
|
extern gotoblas_t gotoblas_BULLDOZER;
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_BULLDOZER gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_BULLDOZER gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_BULLDOZER gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_PILEDRIVER
|
||||||
|
extern gotoblas_t gotoblas_PILEDRIVER;
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_PILEDRIVER gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_PILEDRIVER gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_PILEDRIVER gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_STEAMROLLER
|
||||||
|
extern gotoblas_t gotoblas_STEAMROLLER;
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_STEAMROLLER gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_STEAMROLLER gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_STEAMROLLER gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_EXCAVATOR
|
||||||
|
extern gotoblas_t gotoblas_EXCAVATOR;
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_EXCAVATOR gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_EXCAVATOR gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_EXCAVATOR gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_HASWELL
|
||||||
|
extern gotoblas_t gotoblas_HASWELL;
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_HASWELL gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_HASWELL gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_HASWELL gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_ZEN
|
||||||
|
extern gotoblas_t gotoblas_ZEN;
|
||||||
|
#elif defined(DYN_HASWELL)
|
||||||
|
#define gotoblas_ZEN gotoblas_HASWELL
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_ZEN gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_ZEN gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_ZEN gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
#ifdef DYN_SKYLAKEX
|
||||||
|
extern gotoblas_t gotoblas_SKYLAKEX;
|
||||||
|
#elif defined(DYN_HASWELL)
|
||||||
|
#define gotoblas_SKYLAKEX gotoblas_HASWELL
|
||||||
|
#elif defined(DYN_SANDYBRIDGE)
|
||||||
|
#define gotoblas_SKYLAKEX gotoblas_SANDYBRIDGE
|
||||||
|
#elif defined(DYN_NEHALEM)
|
||||||
|
#define gotoblas_SKYLAKEX gotoblas_NEHALEM
|
||||||
|
#else
|
||||||
|
#define gotoblas_SKYLAKEX gotoblas_PRESCOTT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#else // not DYNAMIC_LIST
|
||||||
EXTERN gotoblas_t gotoblas_KATMAI;
|
EXTERN gotoblas_t gotoblas_KATMAI;
|
||||||
EXTERN gotoblas_t gotoblas_COPPERMINE;
|
EXTERN gotoblas_t gotoblas_COPPERMINE;
|
||||||
EXTERN gotoblas_t gotoblas_NORTHWOOD;
|
EXTERN gotoblas_t gotoblas_NORTHWOOD;
|
||||||
|
@ -108,6 +269,7 @@ extern gotoblas_t gotoblas_SKYLAKEX;
|
||||||
#define gotoblas_ZEN gotoblas_BARCELONA
|
#define gotoblas_ZEN gotoblas_BARCELONA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif // DYNAMIC_LIST
|
||||||
|
|
||||||
#define VENDOR_INTEL 1
|
#define VENDOR_INTEL 1
|
||||||
#define VENDOR_AMD 2
|
#define VENDOR_AMD 2
|
||||||
|
|
Loading…
Reference in New Issue