[Gmp-commit] /home/hgfiles/gmp: 2 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Thu Dec 31 20:52:48 CET 2009
details: /home/hgfiles/gmp/rev/f1647198c39e
changeset: 13285:f1647198c39e
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Dec 31 18:38:18 2009 +0100
description:
Add item.
details: /home/hgfiles/gmp/rev/f456a2d8cb66
changeset: 13286:f456a2d8cb66
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Dec 31 20:52:46 2009 +0100
description:
Retune.
diffstat:
NEWS | 2 +
mpn/sparc64/ultrasparc34/gmp-mparam.h | 122 +++++++++++++++++---------------
mpn/x86/k7/gmp-mparam.h | 124 +++++++++++++++++----------------
mpn/x86/p6/mmx/gmp-mparam.h | 74 ++++++++++---------
mpn/x86_64/nano/gmp-mparam.h | 109 +++++++++++++++++------------
5 files changed, 234 insertions(+), 197 deletions(-)
diffs (truncated from 531 to 300 lines):
diff -r 0df04d180ab6 -r f456a2d8cb66 NEWS
--- a/NEWS Thu Dec 31 18:22:52 2009 +0100
+++ b/NEWS Thu Dec 31 20:52:46 2009 +0100
@@ -65,6 +65,8 @@
mpn_nior_n, mpn_xnor_n, mpn_andn_n, mpn_iorn_n, mpn_com, mpn_neg,
mpn_copyi, mpn_copyd, mpn_zero.
+ * The function mpn_tdiv_qr now allows some argument overlap.
+
* Support for fat binaries for 64-bit x86 processors has been added.
* A new type, mp_bitcnt_t for bignum bit counts, has been introduced.
diff -r 0df04d180ab6 -r f456a2d8cb66 mpn/sparc64/ultrasparc34/gmp-mparam.h
--- a/mpn/sparc64/ultrasparc34/gmp-mparam.h Thu Dec 31 18:22:52 2009 +0100
+++ b/mpn/sparc64/ultrasparc34/gmp-mparam.h Thu Dec 31 20:52:46 2009 +0100
@@ -23,73 +23,79 @@
/* 1593 MHz ultrasparc3 running Solaris 10 (swift.nada.kth.se) */
-#define MUL_TOOM22_THRESHOLD 28
-#define MUL_TOOM33_THRESHOLD 95
-#define MUL_TOOM44_THRESHOLD 139
-#define MUL_TOOM6H_THRESHOLD 165
-#define MUL_TOOM8H_THRESHOLD 296
-
-#define MUL_TOOM32_TO_TOOM43_THRESHOLD 87
-#define MUL_TOOM32_TO_TOOM53_THRESHOLD 105
-#define MUL_TOOM42_TO_TOOM53_THRESHOLD 85
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD 84
-
-#define SQR_BASECASE_THRESHOLD 7
-#define SQR_TOOM2_THRESHOLD 71
-#define SQR_TOOM3_THRESHOLD 98
-#define SQR_TOOM4_THRESHOLD 183
-#define SQR_TOOM6_THRESHOLD 190
-#define SQR_TOOM8_THRESHOLD 339
-
-#define MULMOD_BNM1_THRESHOLD 14
-#define SQRMOD_BNM1_THRESHOLD 9
-
-#define MUL_FFT_TABLE { 240, 480, 1344, 2304, 5120, 20480, 81920, 327680, 0 }
-#define MUL_FFT_MODF_THRESHOLD 256
-#define MUL_FFT_THRESHOLD 4608
-
-#define SQR_FFT_TABLE { 304, 672, 1344, 2304, 7168, 20480, 81920, 327680, 0 }
-#define SQR_FFT_MODF_THRESHOLD 232
-#define SQR_FFT_THRESHOLD 2688
-
-#define MULLO_BASECASE_THRESHOLD 22
-#define MULLO_DC_THRESHOLD 0 /* never mpn_mullo_basecase */
-#define MULLO_MUL_N_THRESHOLD 4672
-
-#define DC_DIV_QR_THRESHOLD 16
-#define DC_DIVAPPR_Q_THRESHOLD 67
-#define DC_BDIV_QR_THRESHOLD 29
-#define DC_BDIV_Q_THRESHOLD 90
-
-#define INV_MULMOD_BNM1_THRESHOLD 100
-#define INV_NEWTON_THRESHOLD 17
-#define INV_APPR_THRESHOLD 21
-
-#define BINV_NEWTON_THRESHOLD 139
-#define REDC_1_TO_REDC_2_THRESHOLD 10
-#define REDC_2_TO_REDC_N_THRESHOLD 117
-
-#define MATRIX22_STRASSEN_THRESHOLD 12
-#define HGCD_THRESHOLD 43
-#define GCD_DC_THRESHOLD 128
-#define GCDEXT_DC_THRESHOLD 142
-#define JACOBI_BASE_METHOD 3
-
#define DIVREM_1_NORM_THRESHOLD 0 /* always */
#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 MP_SIZE_T_MAX /* never */
-#define MOD_1U_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX /* never */
-#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX /* never */
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX /* never */
+#define MOD_1U_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */
#define USE_PREINV_DIVREM_1 1
#define DIVREM_2_THRESHOLD 0 /* always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */
-#define GET_STR_DC_THRESHOLD 17
-#define GET_STR_PRECOMPUTE_THRESHOLD 26
-#define SET_STR_DC_THRESHOLD 303
+#define MUL_TOOM22_THRESHOLD 30
+#define MUL_TOOM33_THRESHOLD 93
+#define MUL_TOOM44_THRESHOLD 143
+#define MUL_TOOM6H_THRESHOLD 165
+#define MUL_TOOM8H_THRESHOLD 303
+
+#define MUL_TOOM32_TO_TOOM43_THRESHOLD 93
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD 95
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD 85
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD 50
+
+#define SQR_BASECASE_THRESHOLD 10
+#define SQR_TOOM2_THRESHOLD 72
+#define SQR_TOOM3_THRESHOLD 97
+#define SQR_TOOM4_THRESHOLD 179
+#define SQR_TOOM6_THRESHOLD 191
+#define SQR_TOOM8_THRESHOLD 339
+
+#define MULMOD_BNM1_THRESHOLD 14
+#define SQRMOD_BNM1_THRESHOLD 9
+
+#define MUL_FFT_TABLE { 240, 480, 1344, 2304, 5120, 12288, 81920, 327680, 0 }
+#define MUL_FFT_MODF_THRESHOLD 256
+#define MUL_FFT_THRESHOLD 4608
+
+#define SQR_FFT_TABLE { 304, 608, 1344, 2304, 7168, 12288, 81920, 327680, 0 }
+#define SQR_FFT_MODF_THRESHOLD 248
+#define SQR_FFT_THRESHOLD 2688
+
+#define MULLO_BASECASE_THRESHOLD 26
+#define MULLO_DC_THRESHOLD 0 /* never mpn_mullo_basecase */
+#define MULLO_MUL_N_THRESHOLD 8648
+
+#define DC_DIV_QR_THRESHOLD 16
+#define DC_DIVAPPR_Q_THRESHOLD 66
+#define DC_BDIV_QR_THRESHOLD 26
+#define DC_BDIV_Q_THRESHOLD 92
+
+#define INV_MULMOD_BNM1_THRESHOLD 76
+#define INV_NEWTON_THRESHOLD 17
+#define INV_APPR_THRESHOLD 17
+
+#define BINV_NEWTON_THRESHOLD 134
+#define REDC_1_TO_REDC_2_THRESHOLD 10
+#define REDC_2_TO_REDC_N_THRESHOLD 117
+
+#define MU_DIV_QR_THRESHOLD 1120
+#define MU_DIVAPPR_Q_THRESHOLD 924
+#define MUPI_DIV_QR_THRESHOLD 0 /* always */
+#define MU_BDIV_QR_THRESHOLD 1120
+#define MU_BDIV_Q_THRESHOLD 1120
+
+#define MATRIX22_STRASSEN_THRESHOLD 12
+#define HGCD_THRESHOLD 39
+#define GCD_DC_THRESHOLD 130
+#define GCDEXT_DC_THRESHOLD 134
+#define JACOBI_BASE_METHOD 2
+
+#define GET_STR_DC_THRESHOLD 18
+#define GET_STR_PRECOMPUTE_THRESHOLD 27
+#define SET_STR_DC_THRESHOLD 315
#define SET_STR_PRECOMPUTE_THRESHOLD 1037
diff -r 0df04d180ab6 -r f456a2d8cb66 mpn/x86/k7/gmp-mparam.h
--- a/mpn/x86/k7/gmp-mparam.h Thu Dec 31 18:22:52 2009 +0100
+++ b/mpn/x86/k7/gmp-mparam.h Thu Dec 31 20:52:46 2009 +0100
@@ -22,72 +22,78 @@
#define BYTES_PER_MP_LIMB 4
-#define MUL_TOOM22_THRESHOLD 28
-#define MUL_TOOM33_THRESHOLD 85
-#define MUL_TOOM44_THRESHOLD 145
-#define MUL_TOOM6H_THRESHOLD 208
-#define MUL_TOOM8H_THRESHOLD 454
-
-#define MUL_TOOM32_TO_TOOM43_THRESHOLD 85
-#define MUL_TOOM32_TO_TOOM53_THRESHOLD 99
-#define MUL_TOOM42_TO_TOOM53_THRESHOLD 97
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD 95
-
-#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
-#define SQR_TOOM2_THRESHOLD 50
-#define SQR_TOOM3_THRESHOLD 83
-#define SQR_TOOM4_THRESHOLD 208
-#define SQR_TOOM6_THRESHOLD 294
-#define SQR_TOOM8_THRESHOLD 446
-
-#define MULMOD_BNM1_THRESHOLD 18
-#define SQRMOD_BNM1_THRESHOLD 22
-
-#define MUL_FFT_TABLE { 432, 928, 1664, 3584, 10240, 40960, 229376, 655360, 0 }
-#define MUL_FFT_MODF_THRESHOLD 656
-#define MUL_FFT_THRESHOLD 69632
-
-#define SQR_FFT_TABLE { 400, 928, 1664, 3584, 10240, 40960, 229376, 655360, 0 }
-#define SQR_FFT_MODF_THRESHOLD 528
-#define SQR_FFT_THRESHOLD 53248
-
-#define MULLO_BASECASE_THRESHOLD 10
-#define MULLO_DC_THRESHOLD 31
-#define MULLO_MUL_N_THRESHOLD 70113
-
-#define DC_DIV_QR_THRESHOLD 43
-#define DC_DIVAPPR_Q_THRESHOLD 204
-#define DC_BDIV_QR_THRESHOLD 41
-#define DC_BDIV_Q_THRESHOLD 144
-
-#define INV_MULMOD_BNM1_THRESHOLD 83
-#define INV_NEWTON_THRESHOLD 204
-#define INV_APPR_THRESHOLD 204
-
-#define BINV_NEWTON_THRESHOLD 244
-#define REDC_1_TO_REDC_N_THRESHOLD 59
-
-#define MATRIX22_STRASSEN_THRESHOLD 16
-#define HGCD_THRESHOLD 104
-#define GCD_DC_THRESHOLD 456
-#define GCDEXT_DC_THRESHOLD 321
-#define JACOBI_BASE_METHOD 1
-
#define MOD_1_NORM_THRESHOLD 0 /* always */
-#define MOD_1_UNNORM_THRESHOLD 3
-#define MOD_1N_TO_MOD_1_1_THRESHOLD 11
-#define MOD_1U_TO_MOD_1_1_THRESHOLD 7
-#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD 14
+#define MOD_1_UNNORM_THRESHOLD 5
+#define MOD_1N_TO_MOD_1_1_THRESHOLD 10
+#define MOD_1U_TO_MOD_1_1_THRESHOLD 4
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD 7
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD 16
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 14
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD 30
-#define GET_STR_DC_THRESHOLD 17
+#define MUL_TOOM22_THRESHOLD 28
+#define MUL_TOOM33_THRESHOLD 86
+#define MUL_TOOM44_THRESHOLD 142
+#define MUL_TOOM6H_THRESHOLD 208
+#define MUL_TOOM8H_THRESHOLD 454
+
+#define MUL_TOOM32_TO_TOOM43_THRESHOLD 81
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD 98
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD 85
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD 95
+
+#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
+#define SQR_TOOM2_THRESHOLD 50
+#define SQR_TOOM3_THRESHOLD 87
+#define SQR_TOOM4_THRESHOLD 208
+#define SQR_TOOM6_THRESHOLD 306
+#define SQR_TOOM8_THRESHOLD 454
+
+#define MULMOD_BNM1_THRESHOLD 18
+#define SQRMOD_BNM1_THRESHOLD 18
+
+#define MUL_FFT_TABLE { 432, 928, 1664, 3584, 10240, 40960, 98304, 0 }
+#define MUL_FFT_MODF_THRESHOLD 624
+#define MUL_FFT_THRESHOLD 69632
+
+#define SQR_FFT_TABLE { 432, 928, 1664, 3584, 10240, 40960, 163840, 0 }
+#define SQR_FFT_MODF_THRESHOLD 496
+#define SQR_FFT_THRESHOLD 53248
+
+#define MULLO_BASECASE_THRESHOLD 8
+#define MULLO_DC_THRESHOLD 37
+#define MULLO_MUL_N_THRESHOLD 69883
+
+#define DC_DIV_QR_THRESHOLD 44
+#define DC_DIVAPPR_Q_THRESHOLD 204
+#define DC_BDIV_QR_THRESHOLD 41
+#define DC_BDIV_Q_THRESHOLD 136
+
+#define INV_MULMOD_BNM1_THRESHOLD 54
+#define INV_NEWTON_THRESHOLD 226
+#define INV_APPR_THRESHOLD 218
+
+#define BINV_NEWTON_THRESHOLD 268
+#define REDC_1_TO_REDC_N_THRESHOLD 63
+
+#define MU_DIV_QR_THRESHOLD 2350
+#define MU_DIVAPPR_Q_THRESHOLD 1895
+#define MUPI_DIV_QR_THRESHOLD 245
+#define MU_BDIV_QR_THRESHOLD 1858
+#define MU_BDIV_Q_THRESHOLD 1822
+
+#define MATRIX22_STRASSEN_THRESHOLD 15
+#define HGCD_THRESHOLD 133
+#define GCD_DC_THRESHOLD 443
+#define GCDEXT_DC_THRESHOLD 336
+#define JACOBI_BASE_METHOD 1
+
+#define GET_STR_DC_THRESHOLD 15
#define GET_STR_PRECOMPUTE_THRESHOLD 30
-#define SET_STR_DC_THRESHOLD 268
-#define SET_STR_PRECOMPUTE_THRESHOLD 1078
+#define SET_STR_DC_THRESHOLD 264
+#define SET_STR_PRECOMPUTE_THRESHOLD 1079
/* These tables need to be updated. */
diff -r 0df04d180ab6 -r f456a2d8cb66 mpn/x86/p6/mmx/gmp-mparam.h
--- a/mpn/x86/p6/mmx/gmp-mparam.h Thu Dec 31 18:22:52 2009 +0100
+++ b/mpn/x86/p6/mmx/gmp-mparam.h Thu Dec 31 20:52:46 2009 +0100
@@ -30,10 +30,21 @@
/* 800 MHz P6 model 8 */
More information about the gmp-commit
mailing list