[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