[Gmp-commit] /var/hg/gmp: Recognise cabylake and goldmont and more versions o...
mercurial at gmplib.org
mercurial at gmplib.org
Fri Oct 9 19:05:28 UTC 2015
details: /var/hg/gmp/rev/7f3713ba5f2c
changeset: 16837:7f3713ba5f2c
user: Torbjorn Granlund <torbjorng at google.com>
date: Fri Oct 09 21:05:25 2015 +0200
description:
Recognise cabylake and goldmont and more versions of skylake and silvermont.
diffstat:
acinclude.m4 | 2 +-
config.guess | 10 +++++++++-
config.sub | 4 ++--
configure.ac | 6 +++---
mpn/x86_64/fat/fat.c | 16 +++++++++++++++-
5 files changed, 30 insertions(+), 8 deletions(-)
diffs (129 lines):
diff -r 6fb6c1ed4e94 -r 7f3713ba5f2c acinclude.m4
--- a/acinclude.m4 Tue Sep 29 22:56:46 2015 +0200
+++ b/acinclude.m4 Fri Oct 09 21:05:25 2015 +0200
@@ -63,7 +63,7 @@
[[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]])
define(X86_64_PATTERN,
-[[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | jaguar*-*-* | bulldozer*-*-* | piledriver*-*-* | steamroller*-*-* | excavator*-*-* | pentium4-*-* | atom-*-* | silvermont-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-* | nehalem*-*-* | westmere*-*-* | sandybridge*-*-* | ivybridge*-*-* | haswell*-*-* | broadwell*-*-* | skylake*-*-*]])
+[[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | jaguar*-*-* | bulldozer*-*-* | piledriver*-*-* | steamroller*-*-* | excavator*-*-* | pentium4-*-* | atom-*-* | silvermont-*-* | goldmont-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-* | nehalem*-*-* | westmere*-*-* | sandybridge*-*-* | ivybridge*-*-* | haswell*-*-* | broadwell*-*-* | skylake*-*-* | cabylake*-*-*]])
dnl GMP_FAT_SUFFIX(DSTVAR, DIRECTORY)
dnl ---------------------------------
diff -r 6fb6c1ed4e94 -r 7f3713ba5f2c config.guess
--- a/config.guess Tue Sep 29 22:56:46 2015 +0200
+++ b/config.guess Fri Oct 09 21:05:25 2015 +0200
@@ -818,7 +818,7 @@
else if (model == 0x2e) cpu_64bit = 1, modelstr = "nehalem"; /* NHM Beckton */
else if (model == 0x2f) cpu_64bit = 1, modelstr = "westmere"; /* WSM Eagleton */
else if (model == 0x36) cpu_64bit = 1, modelstr = "atom"; /* Cedarview/Saltwell */
- else if (model == 0x37) cpu_64bit = 1, modelstr = "silvermont"; /* Atom Silvermont */
+ else if (model == 0x37) cpu_64bit = 1, modelstr = "silvermont"; /* Silvermont */
else if (model == 0x3a) cpu_64bit = 1, cpu_avx=1, modelstr = "ivybridge"; /* IBR */
else if (model == 0x3c) cpu_64bit = 1, cpu_avx=1, modelstr = "haswell"; /* Haswell client */
else if (model == 0x3d) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell"; /* Broadwell */
@@ -830,9 +830,17 @@
else if (model == 0x4a) cpu_64bit = 1, modelstr = "silvermont"; /* Silvermont */
else if (model == 0x4c) cpu_64bit = 1, modelstr = "silvermont"; /* Airmont */
else if (model == 0x4d) cpu_64bit = 1, modelstr = "silvermont"; /* Silvermont/Avoton */
+ else if (model == 0x4e) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake"; /* Skylake client */
else if (model == 0x4f) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell"; /* Broadwell server */
+ else if (model == 0x55) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake"; /* Skylake server */
else if (model == 0x56) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell"; /* Broadwell microserver */
+ else if (model == 0x57) cpu_64bit = 1, modelstr = "knightslanding"; /* aka Xeon Phi */
+ else if (model == 0x5a) cpu_64bit = 1, modelstr = "silvermont"; /* Silvermont */
+ else if (model == 0x5c) cpu_64bit = 1, modelstr = "goldmont"; /* Goldmont */
else if (model == 0x5e) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake"; /* Skylake */
+ else if (model == 0x5f) cpu_64bit = 1, modelstr = "goldmont"; /* Goldmont */
+ else if (model == 0x8e) cpu_64bit = 1, cpu_avx=1, modelstr = "cabylake"; /* Capylake Y/U */
+ else if (model == 0x9e) cpu_64bit = 1, cpu_avx=1, modelstr = "cabylake"; /* Capylake desktop */
else cpu_64bit = 1, modelstr = "nehalem"; /* default */
if (strcmp (modelstr, "haswell") == 0)
diff -r 6fb6c1ed4e94 -r 7f3713ba5f2c config.sub
--- a/config.sub Tue Sep 29 22:56:46 2015 +0200
+++ b/config.sub Fri Oct 09 21:05:25 2015 +0200
@@ -3,7 +3,7 @@
# GMP config.sub wrapper.
-# Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright 2000-2003, 2006, 2009-2015 Free Software Foundation, Inc.
#
# This file is part of the GNU MP Library.
#
@@ -102,7 +102,7 @@
test_cpu=ia64 ;;
pentium | pentiummmx | pentiumpro | pentium[234m] | k[567] | k6[23] | geode | athlon | viac3*)
test_cpu=i386 ;;
-athlon64 | atom | silvermont | core2 | corei* | opteron | k[89] | k10 | bobcat | jaguar* | bulldozer* | piledriver* | steamroller* | excavator* | nano | nehalem* | westmere* | sandybridge* | ivybridge* | haswell* | broadwell* | skylake*)
+athlon64 | atom | silvermont | goldmont | core2 | corei* | opteron | k[89] | k10 | bobcat | jaguar* | bulldozer* | piledriver* | steamroller* | excavator* | nano | nehalem* | westmere* | sandybridge* | ivybridge* | haswell* | broadwell* | skylake* | cabylake* | knightslanding)
test_cpu=x86_64 ;;
power[2-9] | power2sc)
test_cpu=power ;;
diff -r 6fb6c1ed4e94 -r 7f3713ba5f2c configure.ac
--- a/configure.ac Tue Sep 29 22:56:46 2015 +0200
+++ b/configure.ac Fri Oct 09 21:05:25 2015 +0200
@@ -1800,20 +1800,20 @@
path_64="x86_64/coreibwl x86_64/coreihwl x86_64/coreisbr x86_64/coreinhm x86_64/core2 x86_64"
# extra_functions_64="missing" # enable for bmi2/adx simulation
;;
- skylake | skylakenoavx)
+ skylake | skylakenoavx | cabylake | cabylakenoavx)
gcc_cflags_cpu="-mtune=skylake -mtune=broadwell -mtune=corei7 -mtune=core2 -mtune=k8"
gcc_cflags_arch="-march=skylake -march=broadwell -march=corei7 -march=core2 -march=core2~-mno-sse2 -march=k8 -march=k8~-mno-sse2"
path="x86/coreisbr x86/p6/sse2 x86/p6/p3mmx x86/p6/mmx x86/p6 x86/mmx x86"
path_64="x86_64/skylake x86_64/coreibwl x86_64/coreihwl x86_64/coreisbr x86_64/coreinhm x86_64/core2 x86_64"
# extra_functions_64="missing" # enable for bmi2/adx simulation
;;
- atom)
+ atom) # in-order pipeline atom
gcc_cflags_cpu="-mtune=atom -mtune=pentium3"
gcc_cflags_arch="-march=atom -march=pentium3"
path="x86/atom/sse2 x86/atom/mmx x86/atom x86/mmx x86"
path_64="x86_64/atom x86_64"
;;
- silvermont)
+ silvermont | goldmont) # out-of-order pipeline atom
gcc_cflags_cpu="-mtune=slm -mtune=atom -mtune=pentium3"
gcc_cflags_arch="-march=slm -march=atom -march=pentium3"
path="x86/atom/sse2 x86/atom/mmx x86/atom x86/mmx x86"
diff -r 6fb6c1ed4e94 -r 7f3713ba5f2c mpn/x86_64/fat/fat.c
--- a/mpn/x86_64/fat/fat.c Tue Sep 29 22:56:46 2015 +0200
+++ b/mpn/x86_64/fat/fat.c Fri Oct 09 21:05:25 2015 +0200
@@ -286,6 +286,9 @@
case 0x4a: /* Silvermont */
case 0x4c: /* Airmont */
case 0x4d: /* Silvermont/Avoton */
+ case 0x5a: /* Silvermont */
+ case 0x5c: /* Goldmont */
+ case 0x5f: /* Goldmont */
CPUVEC_SETUP_core2;
CPUVEC_SETUP_coreinhm;
break;
@@ -315,13 +318,24 @@
case 0x47: /* Broadwell */
case 0x4f: /* Broadwell server */
case 0x56: /* Broadwell microserver */
- case 0x5e: /* Skylake */
CPUVEC_SETUP_core2;
CPUVEC_SETUP_coreinhm;
CPUVEC_SETUP_coreisbr;
CPUVEC_SETUP_coreihwl;
CPUVEC_SETUP_coreibwl;
break;
+ case 0x4e: /* Skylake client */
+ case 0x55: /* Skylake server */
+ case 0x5e: /* Skylake */
+ case 0x8e: /* Cabylake */
+ case 0x9e: /* Cabylake */
+ CPUVEC_SETUP_core2;
+ CPUVEC_SETUP_coreinhm;
+ CPUVEC_SETUP_coreisbr;
+ CPUVEC_SETUP_coreihwl;
+ CPUVEC_SETUP_coreibwl;
+ CPUVEC_SETUP_skylake;
+ break;
}
break;
More information about the gmp-commit
mailing list