summaryrefslogtreecommitdiff
path: root/cpuid_x86.c
diff options
context:
space:
mode:
authorZhang Xianyi <traits.zhang@gmail.com>2015-05-13 16:16:30 -0500
committerZhang Xianyi <traits.zhang@gmail.com>2015-05-13 16:16:30 -0500
commit51ff17d46e0584a414e4ef97600f348877410adc (patch)
tree5b22c8524d8d1a3e855575a4896751ca5e6f02b6 /cpuid_x86.c
parent905534942a893a390fe27788323f1ea02a32bd6d (diff)
downloadopenblas-51ff17d46e0584a414e4ef97600f348877410adc.tar.gz
openblas-51ff17d46e0584a414e4ef97600f348877410adc.tar.bz2
openblas-51ff17d46e0584a414e4ef97600f348877410adc.zip
Add AMD Excavator target.
Diffstat (limited to 'cpuid_x86.c')
-rw-r--r--cpuid_x86.c41
1 files changed, 32 insertions, 9 deletions
diff --git a/cpuid_x86.c b/cpuid_x86.c
index aece9d871..4f97cfb5a 100644
--- a/cpuid_x86.c
+++ b/cpuid_x86.c
@@ -1198,11 +1198,20 @@ int get_cpuname(void){
else
return CPUTYPE_BARCELONA; //OS don't support AVX.
case 0:
- if(support_avx())
- return CPUTYPE_STEAMROLLER;
- else
- return CPUTYPE_BARCELONA; //OS don't support AVX.
-
+ switch(exmodel){
+ case 3:
+ if(support_avx())
+ return CPUTYPE_STEAMROLLER;
+ else
+ return CPUTYPE_BARCELONA; //OS don't support AVX.
+
+ case 6:
+ if(support_avx())
+ return CPUTYPE_EXCAVATOR;
+ else
+ return CPUTYPE_BARCELONA; //OS don't support AVX.
+ }
+ break;
}
break;
case 5:
@@ -1332,6 +1341,7 @@ static char *cpuname[] = {
"PILEDRIVER",
"HASWELL",
"STEAMROLLER",
+ "EXCAVATOR",
};
static char *lowercpuname[] = {
@@ -1384,6 +1394,7 @@ static char *lowercpuname[] = {
"piledriver",
"haswell",
"steamroller",
+ "excavator",
};
static char *corename[] = {
@@ -1413,6 +1424,7 @@ static char *corename[] = {
"PILEDRIVER",
"HASWELL",
"STEAMROLLER",
+ "EXCAVATOR",
};
static char *corename_lower[] = {
@@ -1442,6 +1454,7 @@ static char *corename_lower[] = {
"piledriver",
"haswell",
"steamroller",
+ "excavator",
};
@@ -1644,10 +1657,20 @@ int get_coretype(void){
return CORE_BARCELONA; //OS don't support AVX.
case 0:
- if(support_avx())
- return CORE_STEAMROLLER;
- else
- return CORE_BARCELONA; //OS don't support AVX.
+ switch(exmodel){
+ case 3:
+ if(support_avx())
+ return CORE_STEAMROLLER;
+ else
+ return CORE_BARCELONA; //OS don't support AVX.
+
+ case 6:
+ if(support_avx())
+ return CORE_EXCAVATOR;
+ else
+ return CORE_BARCELONA; //OS don't support AVX.
+ }
+ break;
}