[Gmp-commit] /var/hg/gmp: 4 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Tue Apr 2 10:57:17 UTC 2019
details: /var/hg/gmp/rev/e0990de56ac9
changeset: 17756:e0990de56ac9
user: Torbjorn Granlund <tg at gmplib.org>
date: Tue Apr 02 12:30:41 2019 +0200
description:
Recognise "Goldmont Plus".
* config.guess: Recognise "Goldmont Plus".
details: /var/hg/gmp/rev/19892ac68d04
changeset: 17757:19892ac68d04
user: Torbjorn Granlund <tg at gmplib.org>
date: Tue Apr 02 12:37:03 2019 +0200
description:
Goldmont fixes.
* configure.ac: Setup distinct paths for silvermont and goldmont.
(fat_path): Add missing x86_64/goldmont.
details: /var/hg/gmp/rev/5899eb6ed52b
changeset: 17758:5899eb6ed52b
user: Torbjorn Granlund <tg at gmplib.org>
date: Tue Apr 02 12:54:40 2019 +0200
description:
Improve fat recognition of silvermont and goldmont.
* mpn/x86_64/fat/fat.c (__gmpn_cpuvec_init):
Split out silvermont handling, add handling of goldmont.
details: /var/hg/gmp/rev/4cc1b97583aa
changeset: 17759:4cc1b97583aa
user: Torbjorn Granlund <tg at gmplib.org>
date: Tue Apr 02 12:57:14 2019 +0200
description:
ChangeLog
diffstat:
ChangeLog | 15 +++++++++++++++
config.guess | 8 +++++---
configure.ac | 10 ++++++++--
mpn/x86_64/fat/fat.c | 14 ++++++++++++--
4 files changed, 40 insertions(+), 7 deletions(-)
diffs (112 lines):
diff -r 036ddbf61ac6 -r 4cc1b97583aa ChangeLog
--- a/ChangeLog Sat Jan 05 15:43:42 2019 +0100
+++ b/ChangeLog Tue Apr 02 12:57:14 2019 +0200
@@ -1,3 +1,18 @@
+2019-04-02 Torbjörn Granlund <tg at gmplib.org>
+
+ * mpn/x86_64/fat/fat.c (__gmpn_cpuvec_init):
+ Split out silvermont handling, add handling of goldmont.
+
+ * configure.ac: Setup distinct paths for silvermont and goldmont.
+ (fat_path): Add missing x86_64/goldmont.
+
+ * config.guess: Recognise "Goldmont Plus".
+
+2018-12-09 Torbjörn Granlund <tg at gmplib.org>
+
+ * mpn/generic/mul_fft.c (mpn_fft_add_sub_modF): New function.
+ (mpn_fft_fft, mpn_fft_fftinv): Use it.
+
2018-11-30 Torbjörn Granlund <tg at gmplib.org>
* mpn/powerpc64/mode64/p9/gmp-mparam.h: New file.
diff -r 036ddbf61ac6 -r 4cc1b97583aa config.guess
--- a/config.guess Sat Jan 05 15:43:42 2019 +0100
+++ b/config.guess Tue Apr 02 12:57:14 2019 +0200
@@ -3,7 +3,8 @@
# GMP config.guess wrapper.
-# Copyright 2000-2006, 2008, 2011-2016, 2018 Free Software Foundation, Inc.
+# Copyright 2000-2006, 2008, 2011-2016, 2018, 2019 Free Software Foundation,
+# Inc.
#
# This file is part of the GNU MP Library.
#
@@ -897,6 +898,7 @@
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 == 0x7a) cpu_64bit = 1, modelstr = "goldmont"; /* Goldmont Plus */
else if (model == 0x8e) cpu_64bit = 1, cpu_avx=1, modelstr = "kabylake"; /* Kabylake Y/U */
else if (model == 0x9e) cpu_64bit = 1, cpu_avx=1, modelstr = "kabylake"; /* Kabylake desktop */
else cpu_64bit = 1, modelstr = "nehalem"; /* default */
@@ -1001,8 +1003,8 @@
else if (cpu_avx && ! (cpuid_avx && cpuid_osxsave))
/* For CPUs nominally capable of executing AVX, append "noavx" when not
both the AVX and OSXSAVE cpuid bits are set. We tolerate weirdness
- here, as some virtualisers set a broken cpuid state here, while other
- virtualisers allow users to set a broken state. */
+ here, as some virtualisers set a broken cpuid state, while other
+ virtualisers allow guests to set a broken state. */
suffix = "noavx";
printf ("%s%s", modelstr, suffix);
diff -r 036ddbf61ac6 -r 4cc1b97583aa configure.ac
--- a/configure.ac Sat Jan 05 15:43:42 2019 +0100
+++ b/configure.ac Tue Apr 02 12:57:14 2019 +0200
@@ -1896,7 +1896,13 @@
path="x86/atom/sse2 x86/atom/mmx x86/atom x86/mmx x86"
path_64="x86_64/atom x86_64"
;;
- silvermont | goldmont) # out-of-order pipeline atom
+ silvermont) # 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"
+ path_64="x86_64/silvermont x86_64/atom x86_64"
+ ;;
+ 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"
@@ -2252,7 +2258,7 @@
x86_64/k8 x86_64/k10 x86_64/bd1 x86_64/bt1 x86_64/bt2 x86_64/zen
x86_64/pentium4 x86_64/core2 x86_64/coreinhm x86_64/coreisbr
x86_64/coreihwl x86_64/coreibwl x86_64/skylake x86_64/atom
- x86_64/silvermont x86_64/nano"
+ x86_64/silvermont x86_64/goldmont x86_64/nano"
fat_functions="$fat_functions addmul_2 addlsh1_n addlsh2_n sublsh1_n"
fi
diff -r 036ddbf61ac6 -r 4cc1b97583aa mpn/x86_64/fat/fat.c
--- a/mpn/x86_64/fat/fat.c Sat Jan 05 15:43:42 2019 +0100
+++ b/mpn/x86_64/fat/fat.c Tue Apr 02 12:57:14 2019 +0200
@@ -325,15 +325,25 @@
case 0x2c: /* WSM Gulftown */
case 0x2e: /* NHM Beckton */
case 0x2f: /* WSM Eagleton */
+ CPUVEC_SETUP_core2;
+ CPUVEC_SETUP_coreinhm;
+ break;
+
case 0x37: /* Silvermont */
case 0x4a: /* Silvermont */
case 0x4c: /* Airmont */
case 0x4d: /* Silvermont/Avoton */
case 0x5a: /* Silvermont */
+ CPUVEC_SETUP_atom;
+ CPUVEC_SETUP_silvermont;
+ break;
+
case 0x5c: /* Goldmont */
case 0x5f: /* Goldmont */
- CPUVEC_SETUP_core2;
- CPUVEC_SETUP_coreinhm;
+ case 0x7a: /* Goldmont Plus */
+ CPUVEC_SETUP_atom;
+ CPUVEC_SETUP_silvermont;
+ CPUVEC_SETUP_goldmont;
break;
case 0x2a: /* SB */
More information about the gmp-commit
mailing list