[Gmp-commit] /var/hg/gmp-5.0: 4 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Wed Jan 25 14:55:00 CET 2012
details: /var/hg/gmp-5.0/rev/e0440d9a54c2
changeset: 13522:e0440d9a54c2
user: Torbjorn Granlund <tege at gmplib.org>
date: Wed Jan 25 11:40:52 2012 +0100
description:
Remove unused tuneup variables.
details: /var/hg/gmp-5.0/rev/316345b8e7a5
changeset: 13523:316345b8e7a5
user: Torbjorn Granlund <tege at gmplib.org>
date: Wed Jan 25 14:54:17 2012 +0100
description:
Annotate some changes.
details: /var/hg/gmp-5.0/rev/120fbcdda07e
changeset: 13524:120fbcdda07e
user: Torbjorn Granlund <tege at gmplib.org>
date: Wed Jan 25 14:54:44 2012 +0100
description:
Add some items, fix typos.
details: /var/hg/gmp-5.0/rev/b8600739011d
changeset: 13525:b8600739011d
user: Torbjorn Granlund <tege at gmplib.org>
date: Wed Jan 25 14:54:56 2012 +0100
description:
Tuneup.
diffstat:
ChangeLog | 22 +++++-
NEWS | 56 ++++++++-------
mpn/alpha/ev6/gmp-mparam.h | 10 +-
mpn/powerpc64/mode64/p4/gmp-mparam.h | 30 ++++----
mpn/powerpc64/mode64/p5/gmp-mparam.h | 44 ++++++------
mpn/powerpc64/mode64/p6/gmp-mparam.h | 121 ++++++++++++++++++++++++----------
mpn/powerpc64/mode64/p7/gmp-mparam.h | 16 ++--
mpn/s390_32/gmp-mparam.h | 45 ++++++------
mpn/x86/atom/gmp-mparam.h | 14 ++--
mpn/x86/p6/sse2/gmp-mparam.h | 16 ++--
mpn/x86/pentium4/sse2/gmp-mparam.h | 10 +-
mpn/x86_64/atom/gmp-mparam.h | 4 +-
mpn/x86_64/bobcat/gmp-mparam.h | 12 +-
mpn/x86_64/core2/gmp-mparam.h | 14 ++--
mpn/x86_64/coreisbr/gmp-mparam.h | 14 ++--
mpn/x86_64/gmp-mparam.h | 38 +++++-----
mpn/x86_64/nano/gmp-mparam.h | 8 +-
mpn/x86_64/pentium4/gmp-mparam.h | 6 +-
tune/tuneup.c | 2 -
19 files changed, 271 insertions(+), 211 deletions(-)
diffs (truncated from 988 to 300 lines):
diff -r 0f3da428d970 -r b8600739011d ChangeLog
--- a/ChangeLog Tue Jan 24 23:19:24 2012 +0100
+++ b/ChangeLog Wed Jan 25 14:54:56 2012 +0100
@@ -1,7 +1,9 @@
-2012-01-24 Torbjorn Granlund <tege at gmplib.org>
+2012-01-25 Torbjorn Granlund <tege at gmplib.org>
* Version 5.0.3 released.
+ * tune/tuneup.c: Remove unused tuneup variables.
+
2012-01-23 Torbjorn Granlund <tege at gmplib.org>
* mpn/powerpc64/mode64/p6/gmp-mparam.h: New file.
@@ -225,7 +227,7 @@
2011-05-05 Marc Glisse <marc.glisse at inria.fr>
- [This change was made after the 5.0.2 release, but inserted here to
+ [These changes were made after the 5.0.2 release, but inserted here to
match the change chronology of the main repository.]
* mpn/x86_64/fat/fat.c: Update for Sandy Bridge.
@@ -319,7 +321,7 @@
2011-01-31 Torbjorn Granlund <tege at gmplib.org>
- [This change was made after the 5.0.2 release, but inserted here to
+ [These changes were made after the 5.0.2 release, but inserted here to
match the change chronology of the main repository.]
* config.guess: Recognise new Intel processors.
@@ -339,7 +341,7 @@
2010-11-10 Torbjorn Granlund <tege at gmplib.org>
- [This change was made after the 5.0.2 release, but inserted here to
+ [These changes were made after the 5.0.2 release, but inserted here to
match the change chronology of the main repository.]
* mp_get_fns.c: Add a __GMP_NOTHROW for coherency with prototype.
@@ -414,10 +416,16 @@
2010-05-06 Torbjorn Granlund <tege at gmplib.org>
+ [This change was made after the 5.0.2 release, but inserted here to
+ match the change chronology of the main repository.]
+
* tune/tuneup.c (tune_mod_1): Fix typo.
2010-05-05 Torbjorn Granlund <tege at gmplib.org>
+ [These changes were made after the 5.0.2 release, but inserted here to
+ match the change chronology of the main repository.]
+
* longlong.h: Undo 2009-03-01 change for powerpc64, it gives poor code.
* tune/tuneup.c (tune_mod_1): Use more typical divisor, for the benefit
@@ -425,10 +433,16 @@
2010-05-04 Torbjorn Granlund <tege at gmplib.org>
+ [This change was made after the 5.0.2 release, but inserted here to
+ match the change chronology of the main repository.]
+
* tune/tuneup.c (tune_mod_1): Fix typo.
2010-05-03 Torbjorn Granlund <tege at gmplib.org>
+ [This change was made after the 5.0.2 release, but inserted here to
+ match the change chronology of the main repository.]
+
* tune/tuneup.c (tune_mod_1): Measure MOD_1_1_TO_MOD_1_2_THRESHOLD and
MOD_1_2_TO_MOD_1_4_THRESHOLD before MOD_1U_TO_MOD_1_1_THRESHOLD for
correctness.
diff -r 0f3da428d970 -r b8600739011d NEWS
--- a/NEWS Tue Jan 24 23:19:24 2012 +0100
+++ b/NEWS Wed Jan 25 14:54:56 2012 +0100
@@ -1,8 +1,8 @@
Copyright 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-Verbatim copying and distribution of this entire article is permitted
-in any medium, provided this notice is preserved.
+Verbatim copying and distribution of this entire article is permitted in any
+medium, provided this notice is preserved.
Changes between GMP version 5.0.2 and 5.0.3
@@ -10,22 +10,26 @@
BUGS FIXED
* A few minor bugs related to portability fixed.
- * A slight leak of the powm_sec functions have been sealed. (This
- leak could possibly be used to extract the most significant few
- bits of the exponent. "Few" here means at most 10.)
+ * A slight timing leak of the powm_sec functions have been sealed. (This
+ leak could possibly be used to extract the most significant few bits of the
+ exponent. "Few" here means at most 10.)
- * The mpz_nextprime function now runs a safer number of
- pseudo-random prime tests.
+ * The mpz_nextprime function now runs a safer number of pseudo-random prime
+ tests.
- * A small bug in division code possibly causing incorrect
- computation was fixed.
+ * A bug in division code possibly causing incorrect computation was fixed.
SPEEDUPS
- * None, except indirectly through recognition of new CPUs.
+ * None, except indirectly through recognition of new CPUs, and through better
+ tuning parameters.
FEATURES
* New CPUs recognised.
+ * IBM S/390 are now supported in both 31/32-bit and 64-bit mode. (We have
+ not been able to fully test this on any multilib machine, since IBM expired
+ our guest account a few days before our release.)
+
MISC
* None.
@@ -37,8 +41,8 @@
* The support for HPPA 2.0N now works, after an assembly bug fix.
- * A test case type error has been fixed. The symptom of this bug
- was spurious 'make check' failures.
+ * A test case type error has been fixed. The symptom of this bug was
+ spurious 'make check' failures.
SPEEDUPS
* None, except indirectly through recognition of new CPUs.
@@ -59,31 +63,29 @@
selection tables' sentinel was smaller than multiplied operands.
* The solib numbers now reflect the removal of the documented but preliminary
- mpn_bdivmod function; we correctly flag incompatibility with GMP 4.3.
- GMP 5.0.0 has this wrong, and should perhaps be uninstalled to avoid
- confusion.
+ mpn_bdivmod function; we correctly flag incompatibility with GMP 4.3. GMP
+ 5.0.0 has this wrong, and should perhaps be uninstalled to avoid confusion.
SPEEDUPS
- * Multiplication of large numbers has indirectly been sped up through
- better FFT tuning and processor recognition. Since many operations
- depend on multiplication, there will be a general speedup.
+ * Multiplication of large numbers has indirectly been sped up through better
+ FFT tuning and processor recognition. Since many operations depend on
+ multiplication, there will be a general speedup.
FEATURES
* More Core i3, i5 an Core i7 processor models are recognised.
- * Fixes and workarounds for Mac OS quirks should make this GMP version
- build using many of the different versions of "Xcode".
+ * Fixes and workarounds for Mac OS quirks should make this GMP version build
+ using many of the different versions of "Xcode".
MISC
- * The amount of scratch memory needed for multiplication of huge numbers
- have been reduced substantially (but is still larger than in GMP 4.3.)
+ * The amount of scratch memory needed for multiplication of huge numbers has
+ been reduced substantially (but is still larger than in GMP 4.3.)
- * Likewise, the amount of scratch memory needed for division of large
- numbers have been reduced substantially.
+ * Likewise, the amount of scratch memory needed for division of large numbers
+ has been reduced substantially.
- * The FFT tuning code of tune/tuneup.c has been completely rewritten,
- and new, large FFT parameter selection tables are provided for many
- machines.
+ * The FFT tuning code of tune/tuneup.c has been completely rewritten, and
+ new, large FFT parameter selection tables are provided for many machines.
* Upgraded to the latest autoconf, automake, libtool.
diff -r 0f3da428d970 -r b8600739011d mpn/alpha/ev6/gmp-mparam.h
--- a/mpn/alpha/ev6/gmp-mparam.h Tue Jan 24 23:19:24 2012 +0100
+++ b/mpn/alpha/ev6/gmp-mparam.h Wed Jan 25 14:54:56 2012 +0100
@@ -31,14 +31,14 @@
#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
-#define MOD_1N_TO_MOD_1_1_THRESHOLD 4
+#define MOD_1N_TO_MOD_1_1_THRESHOLD 3
#define MOD_1U_TO_MOD_1_1_THRESHOLD 2
-#define MOD_1_1_TO_MOD_1_2_THRESHOLD 6
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD 8
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 30
-#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 10
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 7
#define USE_PREINV_DIVREM_1 1 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
-#define BMOD_1_TO_MOD_1_THRESHOLD 16
+#define BMOD_1_TO_MOD_1_THRESHOLD 18
#define MUL_TOOM22_THRESHOLD 35
#define MUL_TOOM33_THRESHOLD 74
@@ -148,7 +148,7 @@
#define SQR_FFT_THRESHOLD 3136
#define MULLO_BASECASE_THRESHOLD 0 /* always */
-#define MULLO_DC_THRESHOLD 130
+#define MULLO_DC_THRESHOLD 101
#define MULLO_MUL_N_THRESHOLD 15604
#define DC_DIV_QR_THRESHOLD 119
diff -r 0f3da428d970 -r b8600739011d mpn/powerpc64/mode64/p4/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p4/gmp-mparam.h Tue Jan 24 23:19:24 2012 +0100
+++ b/mpn/powerpc64/mode64/p4/gmp-mparam.h Wed Jan 25 14:54:56 2012 +0100
@@ -23,11 +23,11 @@
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
-#define MOD_1N_TO_MOD_1_1_THRESHOLD 7
+#define MOD_1N_TO_MOD_1_1_THRESHOLD 10
#define MOD_1U_TO_MOD_1_1_THRESHOLD 6
-#define MOD_1_1_TO_MOD_1_2_THRESHOLD 9
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD 26
-#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 14
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD 8
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD 23
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 16
#define USE_PREINV_DIVREM_1 0
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD 43
@@ -50,8 +50,8 @@
#define SQR_TOOM6_THRESHOLD 206
#define SQR_TOOM8_THRESHOLD 309
-#define MULMOD_BNM1_THRESHOLD 11
-#define SQRMOD_BNM1_THRESHOLD 9
+#define MULMOD_BNM1_THRESHOLD 12
+#define SQRMOD_BNM1_THRESHOLD 14
#define MUL_FFT_MODF_THRESHOLD 380 /* k = 5 */
#define MUL_FFT_TABLE3 \
@@ -170,33 +170,33 @@
#define MULLO_BASECASE_THRESHOLD 5
#define MULLO_DC_THRESHOLD 34
-#define MULLO_MUL_N_THRESHOLD 14281
+#define MULLO_MUL_N_THRESHOLD 10950
#define DC_DIV_QR_THRESHOLD 30
#define DC_DIVAPPR_Q_THRESHOLD 103
#define DC_BDIV_QR_THRESHOLD 48
#define DC_BDIV_Q_THRESHOLD 120
-#define INV_MULMOD_BNM1_THRESHOLD 30
-#define INV_NEWTON_THRESHOLD 129
-#define INV_APPR_THRESHOLD 109
+#define INV_MULMOD_BNM1_THRESHOLD 50
+#define INV_NEWTON_THRESHOLD 131
+#define INV_APPR_THRESHOLD 115
#define BINV_NEWTON_THRESHOLD 204
#define REDC_1_TO_REDC_N_THRESHOLD 55
#define MU_DIV_QR_THRESHOLD 998
-#define MU_DIVAPPR_Q_THRESHOLD 1017
+#define MU_DIVAPPR_Q_THRESHOLD 998
#define MUPI_DIV_QR_THRESHOLD 61
#define MU_BDIV_QR_THRESHOLD 889
#define MU_BDIV_Q_THRESHOLD 1078
-#define MATRIX22_STRASSEN_THRESHOLD 9
+#define MATRIX22_STRASSEN_THRESHOLD 11
#define HGCD_THRESHOLD 96
-#define GCD_DC_THRESHOLD 229
-#define GCDEXT_DC_THRESHOLD 225
+#define GCD_DC_THRESHOLD 249
+#define GCDEXT_DC_THRESHOLD 209
#define JACOBI_BASE_METHOD 1
#define GET_STR_DC_THRESHOLD 11
#define GET_STR_PRECOMPUTE_THRESHOLD 23
-#define SET_STR_DC_THRESHOLD 650
+#define SET_STR_DC_THRESHOLD 532
#define SET_STR_PRECOMPUTE_THRESHOLD 1781
diff -r 0f3da428d970 -r b8600739011d mpn/powerpc64/mode64/p5/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p5/gmp-mparam.h Tue Jan 24 23:19:24 2012 +0100
+++ b/mpn/powerpc64/mode64/p5/gmp-mparam.h Wed Jan 25 14:54:56 2012 +0100
@@ -25,18 +25,18 @@
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
-#define MOD_1N_TO_MOD_1_1_THRESHOLD 13
+#define MOD_1N_TO_MOD_1_1_THRESHOLD 9
#define MOD_1U_TO_MOD_1_1_THRESHOLD 10
-#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD 20
-#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 33
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD 22
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 16
More information about the gmp-commit
mailing list