From 4f05c236733d0623e9a107ad058f75b98524078b Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 31 Jan 2016 15:33:56 +0100 Subject: [PATCH 1/3] Update cpuid_x86.c Add recognition of Intel Atom C27xx (Avoton, model code 4D) --- cpuid_x86.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpuid_x86.c b/cpuid_x86.c index 64ec02f83..b4107e5a7 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -1172,6 +1172,9 @@ int get_cpuname(void){ #endif else return CPUTYPE_NEHALEM; + case 13: + // Avoton + return CPUTYPE_NEHALEM; } break; case 5: From ff9388d625fe566fd0e8dc1c8f83a361a4777c18 Mon Sep 17 00:00:00 2001 From: Zhang Xianyi Date: Tue, 2 Feb 2016 09:15:02 +0800 Subject: [PATCH 2/3] Refs #768. Swap the result of zdot x87 fp kernel. --- kernel/x86_64/zdot.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/x86_64/zdot.S b/kernel/x86_64/zdot.S index 607b9b93a..94d1008ff 100644 --- a/kernel/x86_64/zdot.S +++ b/kernel/x86_64/zdot.S @@ -244,9 +244,11 @@ #ifndef CONJ fsubp %st, %st(3) faddp %st, %st(1) + fxch %st(1) #else faddp %st, %st(3) fsubp %st, %st(1) + fxch %st(1) #endif ret ALIGN_3 From 935356c34f93eb4d4e6b7c5941ebd93aa21a3a7c Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 2 Feb 2016 09:00:18 +0100 Subject: [PATCH 3/3] Update dynamic.c and cpuid_x86.c for Intel Avoton. Second part of "support Intel Avoton via Nehalem kernel" --- cpuid_x86.c | 3 +++ driver/others/dynamic.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/cpuid_x86.c b/cpuid_x86.c index b4107e5a7..e5938803d 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -1678,6 +1678,9 @@ int get_coretype(void){ #endif else return CORE_NEHALEM; + case 13: + // Avoton + return CORE_NEHALEM; } break; case 5: diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 1c4a2293f..a2b7c7045 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -261,6 +261,11 @@ static gotoblas_t *get_coretype(void){ return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels. } } + //Intel Avoton + if (model == 13) { + openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK); + return &gotoblas_NEHALEM; + } return NULL; case 5: //Intel Broadwell