[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