[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