[Gmp-commit] /home/hgfiles/gmp: Retune x86/atom.

mercurial at gmplib.org mercurial at gmplib.org
Wed Dec 30 11:44:59 CET 2009


details:   /home/hgfiles/gmp/rev/5b44d89ea1f2
changeset: 13267:5b44d89ea1f2
user:      Marco Bodrato <bodrato at mail.dm.unipi.it>
date:      Wed Dec 30 11:44:54 2009 +0100
description:
Retune x86/atom.

diffstat:

 NEWS                      |    2 -
 mpn/x86/atom/gmp-mparam.h |  108 ++++++++++++++++++++++++++-------------------
 2 files changed, 63 insertions(+), 47 deletions(-)

diffs (138 lines):

diff -r ba82afae2121 -r 5b44d89ea1f2 NEWS
--- a/NEWS	Wed Dec 30 03:34:30 2009 +0100
+++ b/NEWS	Wed Dec 30 11:44:54 2009 +0100
@@ -18,9 +18,7 @@
         mpn_mulmod_bnm1 (computing U * V mod (B^n-1), B being the word base.
         This latter function is used for the largest products, waiting for a
         better Schoenhage-Strassen U * V mod (B^n+1) implementation.
-
     (2) Likewise for squaring.
-
     (3) Multiplication of different size operands has been improved with the
         addition of many new Toom function, and by selecting underlying
         functions better from the main multiply functions.
diff -r ba82afae2121 -r 5b44d89ea1f2 mpn/x86/atom/gmp-mparam.h
--- a/mpn/x86/atom/gmp-mparam.h	Wed Dec 30 03:34:30 2009 +0100
+++ b/mpn/x86/atom/gmp-mparam.h	Wed Dec 30 11:44:54 2009 +0100
@@ -21,58 +21,76 @@
 #define GMP_LIMB_BITS 32
 #define BYTES_PER_MP_LIMB 4
 
-/* Generated by tuneup.c, 2009-12-15, gcc 4.4 */
+/* Generated by tuneup.c, 2009-12-28, gcc 4.4 */
 
-#define MUL_TOOM22_THRESHOLD             16
-#define MUL_TOOM33_THRESHOLD             69
-#define MUL_TOOM44_THRESHOLD            169
+#define MOD_1_NORM_THRESHOLD                 3
+#define MOD_1_UNNORM_THRESHOLD               7
+#define MOD_1N_TO_MOD_1_1_THRESHOLD         19
+#define MOD_1U_TO_MOD_1_1_THRESHOLD          7
+#define MOD_1_1_TO_MOD_1_2_THRESHOLD        11
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD        18
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD     38
+#define USE_PREINV_DIVREM_1                  1
+#define DIVEXACT_1_THRESHOLD                 0  /* always (native) */
+#define BMOD_1_TO_MOD_1_THRESHOLD          144
 
-#define SQR_BASECASE_THRESHOLD            0  /* always (native) */
-#define SQR_TOOM2_THRESHOLD              16
-#define SQR_TOOM3_THRESHOLD             113
-#define SQR_TOOM4_THRESHOLD             192
+#define MUL_TOOM22_THRESHOLD                16
+#define MUL_TOOM33_THRESHOLD                66
+#define MUL_TOOM44_THRESHOLD               171
+#define MUL_TOOM6H_THRESHOLD               258
+#define MUL_TOOM8H_THRESHOLD               357
 
-#define MUL_FFT_TABLE  { 304, 672, 896, 2560, 10240, 24576, 98304, 393216, 0 }
-#define MUL_FFT_MODF_THRESHOLD          320
-#define MUL_FFT_THRESHOLD              2816
+#define MUL_TOOM32_TO_TOOM43_THRESHOLD     113
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD     124
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD     113
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD     129
 
-#define SQR_FFT_TABLE  { 304, 672, 896, 2560, 6144, 24576, 98304, 393216, 0 }
-#define SQR_FFT_MODF_THRESHOLD          264
-#define SQR_FFT_THRESHOLD              1792
+#define SQR_BASECASE_THRESHOLD               0  /* always (native) */
+#define SQR_TOOM2_THRESHOLD                 16
+#define SQR_TOOM3_THRESHOLD                113
+#define SQR_TOOM4_THRESHOLD                193
+#define SQR_TOOM6_THRESHOLD                254
+#define SQR_TOOM8_THRESHOLD                381
 
-#define MULLO_BASECASE_THRESHOLD          0  /* always */
-#define MULLO_DC_THRESHOLD               55
-#define MULLO_MUL_N_THRESHOLD          3913
+#define MULMOD_BNM1_THRESHOLD               13
+#define SQRMOD_BNM1_THRESHOLD               11
 
-#define MULMOD_BNM1_THRESHOLD            13
+#define MUL_FFT_TABLE  { 336, 672, 896, 2560, 10240, 24576, 98304, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD             352
+#define MUL_FFT_THRESHOLD                 7168
 
-#define DC_DIV_QR_THRESHOLD              59
-#define DC_DIVAPPR_Q_THRESHOLD          222
-#define DC_BDIV_QR_THRESHOLD             56
-#define DC_BDIV_Q_THRESHOLD             136
-#define INV_MULMOD_BNM1_THRESHOLD        40
-#define INV_NEWTON_THRESHOLD            260
-#define INV_APPR_THRESHOLD               41
-#define BINV_NEWTON_THRESHOLD           264
-#define REDC_1_TO_REDC_N_THRESHOLD       62
+#define SQR_FFT_TABLE  { 336, 672, 896, 2560, 6144, 24576, 98304, 393216, 0 }
+#define SQR_FFT_MODF_THRESHOLD             296
+#define SQR_FFT_THRESHOLD                 3840
 
-#define MATRIX22_STRASSEN_THRESHOLD      16
-#define HGCD_THRESHOLD                  110
-#define GCD_DC_THRESHOLD                375
-#define GCDEXT_DC_THRESHOLD             278
-#define JACOBI_BASE_METHOD                2
+#define MULLO_BASECASE_THRESHOLD             0  /* always */
+#define MULLO_DC_THRESHOLD                  56
+#define MULLO_MUL_N_THRESHOLD             8648
 
-#define MOD_1_NORM_THRESHOLD              3
-#define MOD_1_UNNORM_THRESHOLD            7
-#define MOD_1_1_THRESHOLD                 8
-#define MOD_1_2_THRESHOLD                11
-#define MOD_1_4_THRESHOLD                18
-#define USE_PREINV_DIVREM_1               1
-#define USE_PREINV_MOD_1                  0
-#define DIVEXACT_1_THRESHOLD              0  /* always (native) */
-#define MODEXACT_1_ODD_THRESHOLD      MP_SIZE_T_MAX  /* never */
+#define DC_DIV_QR_THRESHOLD                 58
+#define DC_DIVAPPR_Q_THRESHOLD             220
+#define DC_BDIV_QR_THRESHOLD                56
+#define DC_BDIV_Q_THRESHOLD                136
 
-#define GET_STR_DC_THRESHOLD             13
-#define GET_STR_PRECOMPUTE_THRESHOLD     26
-#define SET_STR_DC_THRESHOLD            140
-#define SET_STR_PRECOMPUTE_THRESHOLD    889
+#define INV_MULMOD_BNM1_THRESHOLD           30
+#define INV_NEWTON_THRESHOLD               260
+#define INV_APPR_THRESHOLD                 244
+
+#define BINV_NEWTON_THRESHOLD              264
+#define REDC_1_TO_REDC_N_THRESHOLD          63
+
+#define MU_DIV_QR_THRESHOLD               1607
+#define MU_DIVAPPR_Q_THRESHOLD            1607
+#define MU_BDIV_QR_THRESHOLD              1547
+#define MU_BDIV_Q_THRESHOLD               1577
+
+#define MATRIX22_STRASSEN_THRESHOLD         17
+#define HGCD_THRESHOLD                     109
+#define GCD_DC_THRESHOLD                   372
+#define GCDEXT_DC_THRESHOLD                275
+#define JACOBI_BASE_METHOD                   2
+
+#define GET_STR_DC_THRESHOLD                14
+#define GET_STR_PRECOMPUTE_THRESHOLD        27
+#define SET_STR_DC_THRESHOLD               270
+#define SET_STR_PRECOMPUTE_THRESHOLD       860


More information about the gmp-commit mailing list