summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2012-12-15 17:12:49 +0100
committerTorbjorn Granlund <tege@gmplib.org>2012-12-15 17:12:49 +0100
commit01c78a9dedc4db1207518cb05caa4c455c9765b7 (patch)
tree70b46389c8c01c2614251a688f33ec81e306d5dc
parent8cda89c31d0dd560314df13a3afef3461cc6a58f (diff)
downloadgmp-01c78a9dedc4db1207518cb05caa4c455c9765b7.tar.gz
Retune.
-rw-r--r--mpn/powerpc64/mode64/p5/gmp-mparam.h90
-rw-r--r--mpn/x86_64/core2/gmp-mparam.h35
-rw-r--r--mpn/x86_64/k8/gmp-mparam.h74
-rw-r--r--mpn/x86_64/nano/gmp-mparam.h16
4 files changed, 109 insertions, 106 deletions
diff --git a/mpn/powerpc64/mode64/p5/gmp-mparam.h b/mpn/powerpc64/mode64/p5/gmp-mparam.h
index 9220f99d5..c1670d7c8 100644
--- a/mpn/powerpc64/mode64/p5/gmp-mparam.h
+++ b/mpn/powerpc64/mode64/p5/gmp-mparam.h
@@ -35,32 +35,31 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD 40
-#define MUL_TOOM22_THRESHOLD 14
-#define MUL_TOOM33_THRESHOLD 50
-#define MUL_TOOM44_THRESHOLD 121
-#define MUL_TOOM6H_THRESHOLD 202
-#define MUL_TOOM8H_THRESHOLD 260
-
-#define MUL_TOOM32_TO_TOOM43_THRESHOLD 82
-#define MUL_TOOM32_TO_TOOM53_THRESHOLD 91
-#define MUL_TOOM42_TO_TOOM53_THRESHOLD 81
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD 88
+#define MUL_TOOM22_THRESHOLD 21
+#define MUL_TOOM33_THRESHOLD 24
+#define MUL_TOOM44_THRESHOLD 70
+#define MUL_TOOM6H_THRESHOLD 262
+#define MUL_TOOM8H_THRESHOLD 393
+
+#define MUL_TOOM32_TO_TOOM43_THRESHOLD 49
+#define MUL_TOOM32_TO_TOOM53_THRESHOLD 126
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD 85
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD 94
+#define MUL_TOOM43_TO_TOOM54_THRESHOLD 70
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 24
-#define SQR_TOOM3_THRESHOLD 73
+#define SQR_TOOM3_THRESHOLD 81
#define SQR_TOOM4_THRESHOLD 142
-#define SQR_TOOM6_THRESHOLD 191
+#define SQR_TOOM6_THRESHOLD 189
#define SQR_TOOM8_THRESHOLD 284
-#define MULMID_TOOM42_THRESHOLD 32
+#define MULMID_TOOM42_THRESHOLD 36
#define MULMOD_BNM1_THRESHOLD 12
-#define SQRMOD_BNM1_THRESHOLD 17
-
-#define POWM_SEC_TABLE 4,35,387,1068,2699
+#define SQRMOD_BNM1_THRESHOLD 15
-#define MUL_FFT_MODF_THRESHOLD 348 /* k = 5 */
+#define MUL_FFT_MODF_THRESHOLD 304 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 348, 5}, { 17, 6}, { 9, 5}, { 19, 6}, \
{ 10, 5}, { 21, 6}, { 21, 7}, { 11, 6}, \
@@ -115,9 +114,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 65536,17}, { 131072,18}, { 262144,19}, { 524288,20}, \
{1048576,21}, {2097152,22}, {4194304,23}, {8388608,24} }
#define MUL_FFT_TABLE3_SIZE 208
-#define MUL_FFT_THRESHOLD 3712
+#define MUL_FFT_THRESHOLD 4224
-#define SQR_FFT_MODF_THRESHOLD 272 /* k = 5 */
+#define SQR_FFT_MODF_THRESHOLD 284 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 272, 5}, { 15, 6}, { 8, 5}, { 17, 6}, \
{ 19, 7}, { 17, 8}, { 9, 7}, { 21, 8}, \
@@ -168,39 +167,42 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 262144,19}, { 524288,20}, {1048576,21}, {2097152,22}, \
{4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 190
-#define SQR_FFT_THRESHOLD 2752
+#define SQR_FFT_THRESHOLD 3264
-#define MULLO_BASECASE_THRESHOLD 0
-#define MULLO_DC_THRESHOLD 42
-#define MULLO_MUL_N_THRESHOLD 6633
+#define MULLO_BASECASE_THRESHOLD 6
+#define MULLO_DC_THRESHOLD 60
+#define MULLO_MUL_N_THRESHOLD 7463
-#define DC_DIV_QR_THRESHOLD 43
-#define DC_DIVAPPR_Q_THRESHOLD 155
-#define DC_BDIV_QR_THRESHOLD 46
-#define DC_BDIV_Q_THRESHOLD 120
+#define DC_DIV_QR_THRESHOLD 58
+#define DC_DIVAPPR_Q_THRESHOLD 232
+#define DC_BDIV_QR_THRESHOLD 78
+#define DC_BDIV_Q_THRESHOLD 238
-#define INV_MULMOD_BNM1_THRESHOLD 52
-#define INV_NEWTON_THRESHOLD 177
-#define INV_APPR_THRESHOLD 165
+#define INV_MULMOD_BNM1_THRESHOLD 92
+#define INV_NEWTON_THRESHOLD 155
+#define INV_APPR_THRESHOLD 157
-#define BINV_NEWTON_THRESHOLD 206
-#define REDC_1_TO_REDC_N_THRESHOLD 55
+#define BINV_NEWTON_THRESHOLD 155
+#define REDC_1_TO_REDC_N_THRESHOLD 61
-#define MU_DIV_QR_THRESHOLD 924
-#define MU_DIVAPPR_Q_THRESHOLD 924
-#define MUPI_DIV_QR_THRESHOLD 81
-#define MU_BDIV_QR_THRESHOLD 872
+#define MU_DIV_QR_THRESHOLD 998
+#define MU_DIVAPPR_Q_THRESHOLD 979
+#define MUPI_DIV_QR_THRESHOLD 79
+#define MU_BDIV_QR_THRESHOLD 823
#define MU_BDIV_Q_THRESHOLD 942
-#define MATRIX22_STRASSEN_THRESHOLD 15
-#define HGCD_THRESHOLD 108
-#define HGCD_APPR_THRESHOLD 113
-#define HGCD_REDUCE_THRESHOLD 2121
-#define GCD_DC_THRESHOLD 315
-#define GCDEXT_DC_THRESHOLD 237
+#define MATRIX22_STRASSEN_THRESHOLD 14
+#define HGCD_THRESHOLD 74
+#define HGCD_APPR_THRESHOLD 155
+#define HGCD_REDUCE_THRESHOLD 2479
+#define GCD_DC_THRESHOLD 351
+#define GCDEXT_DC_THRESHOLD 288
#define JACOBI_BASE_METHOD 4
-#define GET_STR_DC_THRESHOLD 13
-#define GET_STR_PRECOMPUTE_THRESHOLD 23
+#define GET_STR_DC_THRESHOLD 12
+#define GET_STR_PRECOMPUTE_THRESHOLD 21
#define SET_STR_DC_THRESHOLD 650
#define SET_STR_PRECOMPUTE_THRESHOLD 1585
+
+#define FAC_DSC_THRESHOLD 662
+#define FAC_ODD_THRESHOLD 28
diff --git a/mpn/x86_64/core2/gmp-mparam.h b/mpn/x86_64/core2/gmp-mparam.h
index 56a20799b..f5593ea41 100644
--- a/mpn/x86_64/core2/gmp-mparam.h
+++ b/mpn/x86_64/core2/gmp-mparam.h
@@ -28,38 +28,36 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 3
#define MOD_1U_TO_MOD_1_1_THRESHOLD 2
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 11
-#define MOD_1_2_TO_MOD_1_4_THRESHOLD 16
-#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 7
+#define MOD_1_2_TO_MOD_1_4_THRESHOLD 15
+#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 6
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
-#define BMOD_1_TO_MOD_1_THRESHOLD 26
+#define BMOD_1_TO_MOD_1_THRESHOLD 23
#define MUL_TOOM22_THRESHOLD 23
#define MUL_TOOM33_THRESHOLD 65
#define MUL_TOOM44_THRESHOLD 106
-#define MUL_TOOM6H_THRESHOLD 157
-#define MUL_TOOM8H_THRESHOLD 199
+#define MUL_TOOM6H_THRESHOLD 224
+#define MUL_TOOM8H_THRESHOLD 0 /* always */
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 69
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 76
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 73
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD 78
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD 72
#define MUL_TOOM43_TO_TOOM54_THRESHOLD 100
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 28
#define SQR_TOOM3_THRESHOLD 101
#define SQR_TOOM4_THRESHOLD 148
-#define SQR_TOOM6_THRESHOLD 222
+#define SQR_TOOM6_THRESHOLD 206
#define SQR_TOOM8_THRESHOLD 296
#define MULMID_TOOM42_THRESHOLD 24
-#define MULMOD_BNM1_THRESHOLD 17
-#define SQRMOD_BNM1_THRESHOLD 14
-
-#define POWM_SEC_TABLE 2,65,322,780,1421,2080
+#define MULMOD_BNM1_THRESHOLD 18
+#define SQRMOD_BNM1_THRESHOLD 17
#define MUL_FFT_MODF_THRESHOLD 380 /* k = 5 */
#define MUL_FFT_TABLE3 \
@@ -157,7 +155,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 262144,19}, { 524288,20}, {1048576,21}, {2097152,22}, \
{4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 178
-#define SQR_FFT_THRESHOLD 2752
+#define SQR_FFT_THRESHOLD 3520
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 55
@@ -182,18 +180,21 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MU_BDIV_QR_THRESHOLD 1057
#define MU_BDIV_Q_THRESHOLD 1187
+#define POWM_SEC_TABLE 2,65,322,780
+
+
#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 135
#define HGCD_APPR_THRESHOLD 178
#define HGCD_REDUCE_THRESHOLD 2121
-#define GCD_DC_THRESHOLD 487
+#define GCD_DC_THRESHOLD 416
#define GCDEXT_DC_THRESHOLD 361
#define JACOBI_BASE_METHOD 4
#define GET_STR_DC_THRESHOLD 12
-#define GET_STR_PRECOMPUTE_THRESHOLD 22
-#define SET_STR_DC_THRESHOLD 818
+#define GET_STR_PRECOMPUTE_THRESHOLD 21
+#define SET_STR_DC_THRESHOLD 552
#define SET_STR_PRECOMPUTE_THRESHOLD 1815
-#define FAC_DSC_THRESHOLD 592
-#define FAC_ODD_THRESHOLD 29
+#define FAC_DSC_THRESHOLD 608
+#define FAC_ODD_THRESHOLD 28
diff --git a/mpn/x86_64/k8/gmp-mparam.h b/mpn/x86_64/k8/gmp-mparam.h
index d3af1b78d..fb157059d 100644
--- a/mpn/x86_64/k8/gmp-mparam.h
+++ b/mpn/x86_64/k8/gmp-mparam.h
@@ -36,35 +36,33 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
-#define BMOD_1_TO_MOD_1_THRESHOLD 19
+#define BMOD_1_TO_MOD_1_THRESHOLD 17
#define MUL_TOOM22_THRESHOLD 27
#define MUL_TOOM33_THRESHOLD 81
#define MUL_TOOM44_THRESHOLD 242
-#define MUL_TOOM6H_THRESHOLD 466
-#define MUL_TOOM8H_THRESHOLD 0 /* always */
+#define MUL_TOOM6H_THRESHOLD 369
+#define MUL_TOOM8H_THRESHOLD 482
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 97
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 153
-#define MUL_TOOM42_TO_TOOM53_THRESHOLD 160
-#define MUL_TOOM42_TO_TOOM63_THRESHOLD 163
-#define MUL_TOOM43_TO_TOOM54_THRESHOLD 168
+#define MUL_TOOM42_TO_TOOM53_THRESHOLD 113
+#define MUL_TOOM42_TO_TOOM63_THRESHOLD 187
+#define MUL_TOOM43_TO_TOOM54_THRESHOLD 166
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
-#define SQR_TOOM2_THRESHOLD 36
-#define SQR_TOOM3_THRESHOLD 117
-#define SQR_TOOM4_THRESHOLD 327
-#define SQR_TOOM6_THRESHOLD 0 /* always */
+#define SQR_TOOM2_THRESHOLD 34
+#define SQR_TOOM3_THRESHOLD 115
+#define SQR_TOOM4_THRESHOLD 527
+#define SQR_TOOM6_THRESHOLD 587
#define SQR_TOOM8_THRESHOLD 0 /* always */
#define MULMID_TOOM42_THRESHOLD 36
-#define MULMOD_BNM1_THRESHOLD 17
-#define SQRMOD_BNM1_THRESHOLD 21
+#define MULMOD_BNM1_THRESHOLD 18
+#define SQRMOD_BNM1_THRESHOLD 19
-#define POWM_SEC_TABLE 2,29,367,1926
-
-#define MUL_FFT_MODF_THRESHOLD 570 /* k = 5 */
+#define MUL_FFT_MODF_THRESHOLD 642 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 570, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \
{ 25, 7}, { 13, 6}, { 27, 7}, { 15, 6}, \
@@ -114,9 +112,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \
{8388608,24} }
#define MUL_FFT_TABLE3_SIZE 185
-#define MUL_FFT_THRESHOLD 7552
+#define MUL_FFT_THRESHOLD 11520
-#define SQR_FFT_MODF_THRESHOLD 460 /* k = 5 */
+#define SQR_FFT_MODF_THRESHOLD 565 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 460, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \
{ 12, 5}, { 25, 6}, { 27, 7}, { 14, 6}, \
@@ -170,43 +168,45 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
{2097152,22}, {4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 203
-#define SQR_FFT_THRESHOLD 5248
+#define SQR_FFT_THRESHOLD 5568
#define MULLO_BASECASE_THRESHOLD 0 /* always */
-#define MULLO_DC_THRESHOLD 77
+#define MULLO_DC_THRESHOLD 63
#define MULLO_MUL_N_THRESHOLD 22239
-#define DC_DIV_QR_THRESHOLD 43
+#define DC_DIV_QR_THRESHOLD 40
#define DC_DIVAPPR_Q_THRESHOLD 252
#define DC_BDIV_QR_THRESHOLD 38
-#define DC_BDIV_Q_THRESHOLD 104
+#define DC_BDIV_Q_THRESHOLD 168
-#define INV_MULMOD_BNM1_THRESHOLD 54
-#define INV_NEWTON_THRESHOLD 230
-#define INV_APPR_THRESHOLD 220
+#define INV_MULMOD_BNM1_THRESHOLD 67
+#define INV_NEWTON_THRESHOLD 246
+#define INV_APPR_THRESHOLD 236
#define BINV_NEWTON_THRESHOLD 252
#define REDC_1_TO_REDC_2_THRESHOLD 11
#define REDC_2_TO_REDC_N_THRESHOLD 84
-#define MU_DIV_QR_THRESHOLD 1895
+#define MU_DIV_QR_THRESHOLD 1932
#define MU_DIVAPPR_Q_THRESHOLD 1895
-#define MUPI_DIV_QR_THRESHOLD 106
-#define MU_BDIV_QR_THRESHOLD 1589
-#define MU_BDIV_Q_THRESHOLD 1718
+#define MUPI_DIV_QR_THRESHOLD 99
+#define MU_BDIV_QR_THRESHOLD 1528
+#define MU_BDIV_Q_THRESHOLD 1787
+
+#define POWM_SEC_TABLE 3,35,322,1926
#define MATRIX22_STRASSEN_THRESHOLD 21
-#define HGCD_THRESHOLD 141
-#define HGCD_APPR_THRESHOLD 183
+#define HGCD_THRESHOLD 140
+#define HGCD_APPR_THRESHOLD 190
#define HGCD_REDUCE_THRESHOLD 4120
-#define GCD_DC_THRESHOLD 545
-#define GCDEXT_DC_THRESHOLD 487
+#define GCD_DC_THRESHOLD 606
+#define GCDEXT_DC_THRESHOLD 492
#define JACOBI_BASE_METHOD 4
#define GET_STR_DC_THRESHOLD 18
-#define GET_STR_PRECOMPUTE_THRESHOLD 33
-#define SET_STR_DC_THRESHOLD 248
-#define SET_STR_PRECOMPUTE_THRESHOLD 2259
+#define GET_STR_PRECOMPUTE_THRESHOLD 32
+#define SET_STR_DC_THRESHOLD 266
+#define SET_STR_PRECOMPUTE_THRESHOLD 2105
-#define FAC_DSC_THRESHOLD 1313
-#define FAC_ODD_THRESHOLD 28
+#define FAC_DSC_THRESHOLD 1474
+#define FAC_ODD_THRESHOLD 24
diff --git a/mpn/x86_64/nano/gmp-mparam.h b/mpn/x86_64/nano/gmp-mparam.h
index 52788acfb..d93548fae 100644
--- a/mpn/x86_64/nano/gmp-mparam.h
+++ b/mpn/x86_64/nano/gmp-mparam.h
@@ -59,10 +59,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MULMID_TOOM42_THRESHOLD 28
-#define MULMOD_BNM1_THRESHOLD 16
-#define SQRMOD_BNM1_THRESHOLD 20
-
-#define POWM_SEC_TABLE 3,29,387,1318
+#define MULMOD_BNM1_THRESHOLD 13
+#define SQRMOD_BNM1_THRESHOLD 17
#define MUL_FFT_MODF_THRESHOLD 376 /* k = 5 */
#define MUL_FFT_TABLE3 \
@@ -180,7 +178,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
{ 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
{2097152,22}, {4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 215
-#define SQR_FFT_THRESHOLD 3264
+#define SQR_FFT_THRESHOLD 2880
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 79
@@ -188,10 +186,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define DC_DIV_QR_THRESHOLD 54
#define DC_DIVAPPR_Q_THRESHOLD 153
-#define DC_BDIV_QR_THRESHOLD 38
+#define DC_BDIV_QR_THRESHOLD 51
#define DC_BDIV_Q_THRESHOLD 52
-#define INV_MULMOD_BNM1_THRESHOLD 82
+#define INV_MULMOD_BNM1_THRESHOLD 52
#define INV_NEWTON_THRESHOLD 150
#define INV_APPR_THRESHOLD 151
@@ -205,6 +203,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MU_BDIV_QR_THRESHOLD 1142
#define MU_BDIV_Q_THRESHOLD 1499
+#define POWM_SEC_TABLE 4,29,387,1421
+
#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 112
#define HGCD_APPR_THRESHOLD 185
@@ -215,7 +215,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define GET_STR_DC_THRESHOLD 11
#define GET_STR_PRECOMPUTE_THRESHOLD 25
-#define SET_STR_DC_THRESHOLD 711
+#define SET_STR_DC_THRESHOLD 414
#define SET_STR_PRECOMPUTE_THRESHOLD 1945
#define FAC_DSC_THRESHOLD 1517