[Gmp-commit] /home/hgfiles/gmp: Retune for new INV_*_THRESHOLD and improved B...

mercurial at gmplib.org mercurial at gmplib.org
Tue Dec 15 19:02:30 CET 2009


details:   /home/hgfiles/gmp/rev/28d3f5d47fad
changeset: 13081:28d3f5d47fad
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Tue Dec 15 18:55:07 2009 +0100
description:
Retune for new INV_*_THRESHOLD and improved BINV_NEWTON_THRESHOLD.

diffstat:

 mpn/alpha/ev5/gmp-mparam.h            |   5 +-
 mpn/alpha/ev6/gmp-mparam.h            |   5 +-
 mpn/arm/gmp-mparam.h                  |   5 +-
 mpn/ia64/gmp-mparam.h                 |   5 +-
 mpn/pa32/hppa2_0/gmp-mparam.h         |   9 +++-
 mpn/pa64/gmp-mparam.h                 |   5 +-
 mpn/powerpc32/750/gmp-mparam.h        |   5 +-
 mpn/powerpc32/gmp-mparam.h            |   5 +-
 mpn/powerpc64/mode64/p3/gmp-mparam.h  |   5 +-
 mpn/powerpc64/mode64/p4/gmp-mparam.h  |   5 +-
 mpn/powerpc64/mode64/p5/gmp-mparam.h  |   5 +-
 mpn/sparc32/v9/gmp-mparam.h           |  74 +++++++++++++++++++---------------
 mpn/sparc64/gmp-mparam.h              |   5 +-
 mpn/sparc64/ultrasparc34/gmp-mparam.h |   5 +-
 mpn/x86/k7/gmp-mparam.h               |   5 +-
 mpn/x86/p6/mmx/gmp-mparam.h           |   5 +-
 mpn/x86/p6/sse2/gmp-mparam.h          |   5 +-
 mpn/x86/pentium4/sse2/gmp-mparam.h    |   5 +-
 mpn/x86_64/atom/gmp-mparam.h          |   5 +-
 mpn/x86_64/core2/gmp-mparam.h         |   5 +-
 mpn/x86_64/corei/gmp-mparam.h         |   6 +-
 mpn/x86_64/gmp-mparam.h               |   5 +-
 mpn/x86_64/pentium4/gmp-mparam.h      |   5 +-
 23 files changed, 133 insertions(+), 56 deletions(-)

diffs (truncated from 433 to 300 lines):

diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/alpha/ev5/gmp-mparam.h
--- a/mpn/alpha/ev5/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/alpha/ev5/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -53,7 +53,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          180
 #define DC_BDIV_QR_THRESHOLD             47
 #define DC_BDIV_Q_THRESHOLD             181
-#define BINV_NEWTON_THRESHOLD           541
+#define INV_MULMOD_BNM1_THRESHOLD       100
+#define INV_NEWTON_THRESHOLD            196
+#define INV_APPR_THRESHOLD               35
+#define BINV_NEWTON_THRESHOLD           214
 #define REDC_1_TO_REDC_N_THRESHOLD       77
 
 #define MATRIX22_STRASSEN_THRESHOLD      15
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/alpha/ev6/gmp-mparam.h
--- a/mpn/alpha/ev6/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/alpha/ev6/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -54,7 +54,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          396
 #define DC_BDIV_QR_THRESHOLD            110
 #define DC_BDIV_Q_THRESHOLD             315
-#define BINV_NEWTON_THRESHOLD          1160
+#define INV_MULMOD_BNM1_THRESHOLD        90
+#define INV_NEWTON_THRESHOLD            387
+#define INV_APPR_THRESHOLD               39
+#define BINV_NEWTON_THRESHOLD           406
 #define REDC_1_TO_REDC_N_THRESHOLD      110
 
 #define MATRIX22_STRASSEN_THRESHOLD      16
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/arm/gmp-mparam.h
--- a/mpn/arm/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/arm/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -52,7 +52,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          430
 #define DC_BDIV_QR_THRESHOLD            127
 #define DC_BDIV_Q_THRESHOLD             296
-#define BINV_NEWTON_THRESHOLD          1442
+#define INV_MULMOD_BNM1_THRESHOLD        74
+#define INV_NEWTON_THRESHOLD            474
+#define INV_APPR_THRESHOLD               78
+#define BINV_NEWTON_THRESHOLD           942
 #define REDC_1_TO_REDC_N_THRESHOLD      115
 
 #define MATRIX22_STRASSEN_THRESHOLD      19
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/ia64/gmp-mparam.h
--- a/mpn/ia64/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/ia64/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -52,7 +52,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          268
 #define DC_BDIV_QR_THRESHOLD            108
 #define DC_BDIV_Q_THRESHOLD             292
-#define BINV_NEWTON_THRESHOLD           807
+#define INV_MULMOD_BNM1_THRESHOLD       163
+#define INV_NEWTON_THRESHOLD            188
+#define INV_APPR_THRESHOLD                9
+#define BINV_NEWTON_THRESHOLD           300
 #define REDC_1_TO_REDC_2_THRESHOLD       10
 #define REDC_2_TO_REDC_N_THRESHOLD      164
 
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/pa32/hppa2_0/gmp-mparam.h
--- a/mpn/pa32/hppa2_0/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/pa32/hppa2_0/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -49,7 +49,14 @@
 #define MULMOD_BNM1_THRESHOLD            16
 
 #define DC_DIV_QR_THRESHOLD             100
-#define REDC_1_TO_REDC_N_THRESHOLD       89
+#define DC_DIVAPPR_Q_THRESHOLD          348
+#define DC_BDIV_QR_THRESHOLD            119
+#define DC_BDIV_Q_THRESHOLD             248
+#define INV_MULMOD_BNM1_THRESHOLD        42
+#define INV_NEWTON_THRESHOLD            296
+#define INV_APPR_THRESHOLD               16
+#define BINV_NEWTON_THRESHOLD           330
+#define REDC_1_TO_REDC_N_THRESHOLD       78
 
 #define MATRIX22_STRASSEN_THRESHOLD      11
 #define HGCD_THRESHOLD                  101
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/pa64/gmp-mparam.h
--- a/mpn/pa64/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/pa64/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -51,7 +51,10 @@
 #define DC_DIV_QR_THRESHOLD             124
 #define DC_BDIV_QR_THRESHOLD            150
 #define DC_BDIV_Q_THRESHOLD             312
-#define BINV_NEWTON_THRESHOLD           720
+#define INV_MULMOD_BNM1_THRESHOLD        58
+#define INV_NEWTON_THRESHOLD            324
+#define INV_APPR_THRESHOLD                4
+#define BINV_NEWTON_THRESHOLD           360
 #define REDC_1_TO_REDC_N_THRESHOLD      106
 
 #define MATRIX22_STRASSEN_THRESHOLD      11
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/powerpc32/750/gmp-mparam.h
--- a/mpn/powerpc32/750/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/powerpc32/750/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -55,7 +55,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          117
 #define DC_BDIV_QR_THRESHOLD             35
 #define DC_BDIV_Q_THRESHOLD              86
-#define BINV_NEWTON_THRESHOLD           501
+#define INV_MULMOD_BNM1_THRESHOLD        76
+#define INV_NEWTON_THRESHOLD            146
+#define INV_APPR_THRESHOLD               23
+#define BINV_NEWTON_THRESHOLD           157
 #define REDC_1_TO_REDC_N_THRESHOLD       39
 
 #define MATRIX22_STRASSEN_THRESHOLD      11
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/powerpc32/gmp-mparam.h
--- a/mpn/powerpc32/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/powerpc32/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -61,7 +61,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          153
 #define DC_BDIV_QR_THRESHOLD             54
 #define DC_BDIV_Q_THRESHOLD             124
-#define BINV_NEWTON_THRESHOLD           582
+#define INV_MULMOD_BNM1_THRESHOLD       108
+#define INV_NEWTON_THRESHOLD            196
+#define INV_APPR_THRESHOLD               19
+#define BINV_NEWTON_THRESHOLD           232
 #define REDC_1_TO_REDC_N_THRESHOLD       54
 
 #define MATRIX22_STRASSEN_THRESHOLD      15
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/powerpc64/mode64/p3/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p3/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/powerpc64/mode64/p3/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -50,7 +50,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD           94
 #define DC_BDIV_QR_THRESHOLD             28
 #define DC_BDIV_Q_THRESHOLD              62
-#define BINV_NEWTON_THRESHOLD           273
+#define INV_MULMOD_BNM1_THRESHOLD        77
+#define INV_NEWTON_THRESHOLD            117
+#define INV_APPR_THRESHOLD               17
+#define BINV_NEWTON_THRESHOLD           133
 #define REDC_1_TO_REDC_N_THRESHOLD       31
 
 #define MATRIX22_STRASSEN_THRESHOLD       8
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/powerpc64/mode64/p4/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p4/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/powerpc64/mode64/p4/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -50,7 +50,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          101
 #define DC_BDIV_QR_THRESHOLD             47
 #define DC_BDIV_Q_THRESHOLD             112
-#define BINV_NEWTON_THRESHOLD           562
+#define INV_MULMOD_BNM1_THRESHOLD       107
+#define INV_NEWTON_THRESHOLD            147
+#define INV_APPR_THRESHOLD               11
+#define BINV_NEWTON_THRESHOLD           228
 #define REDC_1_TO_REDC_N_THRESHOLD       55
 
 #define MATRIX22_STRASSEN_THRESHOLD      11
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/powerpc64/mode64/p5/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p5/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/powerpc64/mode64/p5/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -52,7 +52,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD          116
 #define DC_BDIV_QR_THRESHOLD             51
 #define DC_BDIV_Q_THRESHOLD             118
-#define BINV_NEWTON_THRESHOLD           521
+#define INV_MULMOD_BNM1_THRESHOLD       130
+#define INV_NEWTON_THRESHOLD            129
+#define INV_APPR_THRESHOLD               12
+#define BINV_NEWTON_THRESHOLD           216
 #define REDC_1_TO_REDC_N_THRESHOLD       55
 
 #define MATRIX22_STRASSEN_THRESHOLD      13
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/sparc32/v9/gmp-mparam.h
--- a/mpn/sparc32/v9/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/sparc32/v9/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -21,53 +21,61 @@
 #define GMP_LIMB_BITS 32
 #define BYTES_PER_MP_LIMB 4
 
-/* Generated by tuneup.c, 2009-02-12, gcc 2.95 */
+/* Generated by tuneup.c, 2009-12-14, gcc 4.2 */
 
-#define MUL_TOOM22_THRESHOLD             28
-#define MUL_TOOM33_THRESHOLD             97
-#define MUL_TOOM44_THRESHOLD            136
+#define MUL_TOOM22_THRESHOLD             30
+#define MUL_TOOM33_THRESHOLD             89
+#define MUL_TOOM44_THRESHOLD            230
 
 #define SQR_BASECASE_THRESHOLD            8
-#define SQR_TOOM2_THRESHOLD              60
-#define SQR_TOOM3_THRESHOLD             138
-#define SQR_TOOM4_THRESHOLD             278
+#define SQR_TOOM2_THRESHOLD              63
+#define SQR_TOOM3_THRESHOLD              97
+#define SQR_TOOM4_THRESHOLD             266
+
+#define MUL_FFT_TABLE  { 304, 800, 1408, 3584, 10240, 24576, 98304, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD          264
+#define MUL_FFT_THRESHOLD              1472
+
+#define SQR_FFT_TABLE  { 336, 672, 1408, 3584, 10240, 24576, 98304, 393216, 0 }
+#define SQR_FFT_MODF_THRESHOLD          232
+#define SQR_FFT_THRESHOLD              2304
 
 #define MULLO_BASECASE_THRESHOLD          0  /* always */
-#define MULLO_DC_THRESHOLD              111
-#define MULLO_MUL_N_THRESHOLD           434
+#define MULLO_DC_THRESHOLD              103
+#define MULLO_MUL_N_THRESHOLD          2764
 
-#define DIV_SB_PREINV_THRESHOLD           7
-#define DIV_DC_THRESHOLD                122
-#define POWM_THRESHOLD                  154
+#define MULMOD_BNM1_THRESHOLD            13
+
+#define DC_DIV_QR_THRESHOLD             116
+#define DC_DIVAPPR_Q_THRESHOLD          387
+#define DC_BDIV_QR_THRESHOLD            116
+#define DC_BDIV_Q_THRESHOLD             272
+#define INV_MULMOD_BNM1_THRESHOLD        58
+#define INV_NEWTON_THRESHOLD            360
+#define INV_APPR_THRESHOLD               13
+#define BINV_NEWTON_THRESHOLD           348
+#define REDC_1_TO_REDC_N_THRESHOLD       86
 
 #define MATRIX22_STRASSEN_THRESHOLD      12
-#define HGCD_THRESHOLD                  155
-#define GCD_DC_THRESHOLD                614
-#define GCDEXT_DC_THRESHOLD             438
-#define JACOBI_BASE_METHOD                2
+#define HGCD_THRESHOLD                  142
+#define GCD_DC_THRESHOLD                630
+#define GCDEXT_DC_THRESHOLD             416
+#define JACOBI_BASE_METHOD                3
 
 #define DIVREM_1_NORM_THRESHOLD           5
-#define DIVREM_1_UNNORM_THRESHOLD        14
+#define DIVREM_1_UNNORM_THRESHOLD         7
 #define MOD_1_NORM_THRESHOLD              4
-#define MOD_1_UNNORM_THRESHOLD            5
-#define MOD_1_1_THRESHOLD                 7
-#define MOD_1_2_THRESHOLD                 8
-#define MOD_1_4_THRESHOLD                16
+#define MOD_1_UNNORM_THRESHOLD            6
+#define MOD_1_1_THRESHOLD                 5
+#define MOD_1_2_THRESHOLD                 7
+#define MOD_1_4_THRESHOLD                14
 #define USE_PREINV_DIVREM_1               1
 #define USE_PREINV_MOD_1                  1
 #define DIVREM_2_THRESHOLD                0  /* always */
 #define DIVEXACT_1_THRESHOLD              0  /* always */
 #define MODEXACT_1_ODD_THRESHOLD      MP_SIZE_T_MAX  /* never */
 
-#define GET_STR_DC_THRESHOLD             12
-#define GET_STR_PRECOMPUTE_THRESHOLD     19
-#define SET_STR_DC_THRESHOLD            802
-#define SET_STR_PRECOMPUTE_THRESHOLD   1647
-
-#define MUL_FFT_TABLE  { 304, 736, 1152, 3584, 10240, 24576, 98304, 393216, 0 }
-#define MUL_FFT_MODF_THRESHOLD          264
-#define MUL_FFT_THRESHOLD              2304
-
-#define SQR_FFT_TABLE  { 336, 800, 1408, 3584, 10240, 24576, 98304, 393216, 0 }
-#define SQR_FFT_MODF_THRESHOLD          248
-#define SQR_FFT_THRESHOLD              2304
+#define GET_STR_DC_THRESHOLD             10
+#define GET_STR_PRECOMPUTE_THRESHOLD     17
+#define SET_STR_DC_THRESHOLD            527
+#define SET_STR_PRECOMPUTE_THRESHOLD   1576
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/sparc64/gmp-mparam.h
--- a/mpn/sparc64/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/sparc64/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -52,7 +52,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD           77
 #define DC_BDIV_QR_THRESHOLD             38
 #define DC_BDIV_Q_THRESHOLD             120
-#define BINV_NEWTON_THRESHOLD           390
+#define INV_MULMOD_BNM1_THRESHOLD        66
+#define INV_NEWTON_THRESHOLD             20
+#define INV_APPR_THRESHOLD               12
+#define BINV_NEWTON_THRESHOLD           139
 #define REDC_1_TO_REDC_2_THRESHOLD       10
 #define REDC_2_TO_REDC_N_THRESHOLD      117
 
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/sparc64/ultrasparc34/gmp-mparam.h
--- a/mpn/sparc64/ultrasparc34/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/sparc64/ultrasparc34/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100
@@ -52,7 +52,10 @@
 #define DC_DIVAPPR_Q_THRESHOLD           58
 #define DC_BDIV_QR_THRESHOLD             29
 #define DC_BDIV_Q_THRESHOLD             106
-#define BINV_NEWTON_THRESHOLD           348
+#define INV_MULMOD_BNM1_THRESHOLD       100
+#define INV_NEWTON_THRESHOLD             17
+#define INV_APPR_THRESHOLD                5
+#define BINV_NEWTON_THRESHOLD           123
 #define REDC_1_TO_REDC_2_THRESHOLD       10
 #define REDC_2_TO_REDC_N_THRESHOLD      117
 
diff -r 7b74eca1c4b6 -r 28d3f5d47fad mpn/x86/k7/gmp-mparam.h
--- a/mpn/x86/k7/gmp-mparam.h	Tue Dec 15 17:03:30 2009 +0100
+++ b/mpn/x86/k7/gmp-mparam.h	Tue Dec 15 18:55:07 2009 +0100


More information about the gmp-commit mailing list