summaryrefslogtreecommitdiff
path: root/mpn
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2009-11-29 19:29:11 +0100
committerTorbjorn Granlund <tege@gmplib.org>2009-11-29 19:29:11 +0100
commit78e8ae9dc28a2a315625d85d3e8f3f566cb7f76f (patch)
tree9df98c2130705c634e0f329264abd0979af801b7 /mpn
parentb29cc779f5c8ad290e881ba953ec9efa301975e7 (diff)
downloadgmp-78e8ae9dc28a2a315625d85d3e8f3f566cb7f76f.tar.gz
Retune.
Diffstat (limited to 'mpn')
-rw-r--r--mpn/alpha/ev6/gmp-mparam.h54
-rw-r--r--mpn/arm/gmp-mparam.h24
-rw-r--r--mpn/ia64/gmp-mparam.h34
-rw-r--r--mpn/pa32/hppa2_0/gmp-mparam.h67
-rw-r--r--mpn/pa64/gmp-mparam.h58
-rw-r--r--mpn/powerpc32/750/gmp-mparam.h54
-rw-r--r--mpn/powerpc32/gmp-mparam.h49
-rw-r--r--mpn/sparc64/gmp-mparam.h66
-rw-r--r--mpn/x86/k7/gmp-mparam.h32
-rw-r--r--mpn/x86/p6/sse2/gmp-mparam.h58
-rw-r--r--mpn/x86/pentium4/sse2/gmp-mparam.h66
-rw-r--r--mpn/x86_64/atom/gmp-mparam.h32
-rw-r--r--mpn/x86_64/core2/gmp-mparam.h41
-rw-r--r--mpn/x86_64/corei/gmp-mparam.h26
-rw-r--r--mpn/x86_64/gmp-mparam.h32
-rw-r--r--mpn/x86_64/nano/gmp-mparam.h34
16 files changed, 373 insertions, 354 deletions
diff --git a/mpn/alpha/ev6/gmp-mparam.h b/mpn/alpha/ev6/gmp-mparam.h
index b330793e6..e2029514d 100644
--- a/mpn/alpha/ev6/gmp-mparam.h
+++ b/mpn/alpha/ev6/gmp-mparam.h
@@ -23,40 +23,40 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define DIVEXACT_BY3_METHOD 0 /* override ../diveby3.asm */
-/* 500 MHz 21164 */
+/* 500 MHz 21164 (agnesi.math.su.se) */
-/* Generated by tuneup.c, 2009-11-24, gcc 3.3 */
+/* Generated by tuneup.c, 2009-11-29, gcc 3.3 */
-#define MUL_TOOM22_THRESHOLD 37
-#define MUL_TOOM33_THRESHOLD 89
-#define MUL_TOOM44_THRESHOLD 160
+#define MUL_TOOM22_THRESHOLD 32
+#define MUL_TOOM33_THRESHOLD 73
+#define MUL_TOOM44_THRESHOLD 166
-#define SQR_BASECASE_THRESHOLD 6
+#define SQR_BASECASE_THRESHOLD 5
#define SQR_TOOM2_THRESHOLD 60
-#define SQR_TOOM3_THRESHOLD 109
-#define SQR_TOOM4_THRESHOLD 172
+#define SQR_TOOM3_THRESHOLD 105
+#define SQR_TOOM4_THRESHOLD 167
-#define MUL_FFT_TABLE { 336, 736, 1856, 3328, 9216, 28672, 81920, 327680, 0 }
-#define MUL_FFT_MODF_THRESHOLD 352
-#define MUL_FFT_THRESHOLD 5632
+#define MUL_FFT_TABLE { 304, 864, 1728, 3328, 9216, 28672, 147456, 327680, 0 }
+#define MUL_FFT_MODF_THRESHOLD 432
+#define MUL_FFT_THRESHOLD 3968
-#define SQR_FFT_TABLE { 432, 864, 1728, 3840, 9216, 20480, 81920, 327680, 0 }
+#define SQR_FFT_TABLE { 400, 864, 1600, 3840, 9216, 28672, 114688, 327680, 0 }
#define SQR_FFT_MODF_THRESHOLD 376
-#define SQR_FFT_THRESHOLD 3968
+#define SQR_FFT_THRESHOLD 3712
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 113
-#define MULLOW_MUL_N_THRESHOLD 10970
+#define MULLOW_DC_THRESHOLD 129
+#define MULLOW_MUL_N_THRESHOLD 7842
#define MULMOD_BNM1_THRESHOLD 16
-#define DC_DIV_QR_THRESHOLD 112
-#define REDC_1_TO_REDC_N_THRESHOLD 195
+#define DC_DIV_QR_THRESHOLD 118
+#define REDC_1_TO_REDC_N_THRESHOLD 122
-#define MATRIX22_STRASSEN_THRESHOLD 21
-#define HGCD_THRESHOLD 290
-#define GCD_DC_THRESHOLD 1194
-#define GCDEXT_DC_THRESHOLD 1105
+#define MATRIX22_STRASSEN_THRESHOLD 19
+#define HGCD_THRESHOLD 300
+#define GCD_DC_THRESHOLD 1421
+#define GCDEXT_DC_THRESHOLD 1063
#define JACOBI_BASE_METHOD 3
#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
@@ -64,14 +64,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_1_THRESHOLD 2
-#define MOD_1_2_THRESHOLD 7
-#define MOD_1_4_THRESHOLD 31
+#define MOD_1_2_THRESHOLD 6
+#define MOD_1_4_THRESHOLD 30
#define USE_PREINV_DIVREM_1 1 /* preinv always */
#define USE_PREINV_MOD_1 1 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD MP_SIZE_T_MAX /* never */
-#define GET_STR_DC_THRESHOLD 19
-#define GET_STR_PRECOMPUTE_THRESHOLD 24
-#define SET_STR_DC_THRESHOLD 3828
-#define SET_STR_PRECOMPUTE_THRESHOLD 9861
+#define GET_STR_DC_THRESHOLD 18
+#define GET_STR_PRECOMPUTE_THRESHOLD 23
+#define SET_STR_DC_THRESHOLD 2797
+#define SET_STR_PRECOMPUTE_THRESHOLD 10681
diff --git a/mpn/arm/gmp-mparam.h b/mpn/arm/gmp-mparam.h
index 8e08a3dea..136e0de85 100644
--- a/mpn/arm/gmp-mparam.h
+++ b/mpn/arm/gmp-mparam.h
@@ -23,7 +23,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 593MHz ARM (gcc50.fsffrance.org) */
-/* Generated by tuneup.c, 2009-11-26, gcc 4.3 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.3 */
#define MUL_TOOM22_THRESHOLD 34
#define MUL_TOOM33_THRESHOLD 121
@@ -34,27 +34,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define SQR_TOOM3_THRESHOLD 141
#define SQR_TOOM4_THRESHOLD 212
-#define MUL_FFT_TABLE { 368, 928, 1664, 4608, 14336, 40960, 163840, 655360, 0 }
+#define MUL_FFT_TABLE { 368, 928, 1920, 4608, 14336, 40960, 163840, 655360, 0 }
#define MUL_FFT_MODF_THRESHOLD 384
-#define MUL_FFT_THRESHOLD 6400
+#define MUL_FFT_THRESHOLD 6912
#define SQR_FFT_TABLE { 432, 928, 1664, 4608, 10240, 40960, 163840, 655360, 0 }
-#define SQR_FFT_MODF_THRESHOLD 392
+#define SQR_FFT_MODF_THRESHOLD 376
#define SQR_FFT_THRESHOLD 7168
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
#define MULLOW_DC_THRESHOLD 120
-#define MULLOW_MUL_N_THRESHOLD 6933
+#define MULLOW_MUL_N_THRESHOLD 11138
#define MULMOD_BNM1_THRESHOLD 20
-#define DC_DIV_QR_THRESHOLD 140
-#define REDC_1_TO_REDC_N_THRESHOLD 230
+#define DC_DIV_QR_THRESHOLD 132
+#define REDC_1_TO_REDC_N_THRESHOLD 123
#define MATRIX22_STRASSEN_THRESHOLD 19
-#define HGCD_THRESHOLD 99
-#define GCD_DC_THRESHOLD 693
-#define GCDEXT_DC_THRESHOLD 642
+#define HGCD_THRESHOLD 106
+#define GCD_DC_THRESHOLD 706
+#define GCDEXT_DC_THRESHOLD 630
#define JACOBI_BASE_METHOD 2
#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */
@@ -71,6 +71,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MODEXACT_1_ODD_THRESHOLD MP_SIZE_T_MAX /* never */
#define GET_STR_DC_THRESHOLD 14
-#define GET_STR_PRECOMPUTE_THRESHOLD 29
-#define SET_STR_DC_THRESHOLD 321
+#define GET_STR_PRECOMPUTE_THRESHOLD 28
+#define SET_STR_DC_THRESHOLD 309
#define SET_STR_PRECOMPUTE_THRESHOLD 1037
diff --git a/mpn/ia64/gmp-mparam.h b/mpn/ia64/gmp-mparam.h
index 5f929b8f8..9c5587525 100644
--- a/mpn/ia64/gmp-mparam.h
+++ b/mpn/ia64/gmp-mparam.h
@@ -23,38 +23,38 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 1300MHz Itanium2 (babe.fsffrance.org) */
-/* Generated by tuneup.c, 2009-11-25, gcc 4.2 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
#define MUL_TOOM22_THRESHOLD 44
#define MUL_TOOM33_THRESHOLD 89
-#define MUL_TOOM44_THRESHOLD 220
+#define MUL_TOOM44_THRESHOLD 232
-#define SQR_BASECASE_THRESHOLD 25
+#define SQR_BASECASE_THRESHOLD 26
#define SQR_TOOM2_THRESHOLD 119
-#define SQR_TOOM3_THRESHOLD 145
-#define SQR_TOOM4_THRESHOLD 288
+#define SQR_TOOM3_THRESHOLD 141
+#define SQR_TOOM4_THRESHOLD 284
#define MUL_FFT_TABLE { 528, 1120, 1856, 3840, 11264, 28672, 114688, 327680, 0 }
-#define MUL_FFT_MODF_THRESHOLD 720
+#define MUL_FFT_MODF_THRESHOLD 624
#define MUL_FFT_THRESHOLD 7680
#define SQR_FFT_TABLE { 592, 1248, 2368, 3840, 11264, 28672, 81920, 327680, 0 }
#define SQR_FFT_MODF_THRESHOLD 608
#define SQR_FFT_THRESHOLD 4992
-#define MULLOW_BASECASE_THRESHOLD 19
-#define MULLOW_DC_THRESHOLD 91
+#define MULLOW_BASECASE_THRESHOLD 17
+#define MULLOW_DC_THRESHOLD 88
#define MULLOW_MUL_N_THRESHOLD 15280
#define MULMOD_BNM1_THRESHOLD 24
-#define DC_DIV_QR_THRESHOLD 69
+#define DC_DIV_QR_THRESHOLD 64
#define REDC_1_TO_REDC_2_THRESHOLD 10
-#define REDC_2_TO_REDC_N_THRESHOLD 272
+#define REDC_2_TO_REDC_N_THRESHOLD 172
-#define MATRIX22_STRASSEN_THRESHOLD 26
+#define MATRIX22_STRASSEN_THRESHOLD 23
#define HGCD_THRESHOLD 116
-#define GCD_DC_THRESHOLD 465
+#define GCD_DC_THRESHOLD 501
#define GCDEXT_DC_THRESHOLD 584
#define JACOBI_BASE_METHOD 2
@@ -62,13 +62,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1_1_THRESHOLD 9
#define MOD_1_2_THRESHOLD 10
-#define MOD_1_4_THRESHOLD 14
+#define MOD_1_4_THRESHOLD 16
#define USE_PREINV_DIVREM_1 1 /* native */
#define USE_PREINV_MOD_1 1 /* preinv always */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
-#define GET_STR_DC_THRESHOLD 14
-#define GET_STR_PRECOMPUTE_THRESHOLD 22
-#define SET_STR_DC_THRESHOLD 1502
-#define SET_STR_PRECOMPUTE_THRESHOLD 3489
+#define GET_STR_DC_THRESHOLD 15
+#define GET_STR_PRECOMPUTE_THRESHOLD 21
+#define SET_STR_DC_THRESHOLD 1339
+#define SET_STR_PRECOMPUTE_THRESHOLD 3565
diff --git a/mpn/pa32/hppa2_0/gmp-mparam.h b/mpn/pa32/hppa2_0/gmp-mparam.h
index 1cfd70b1d..d4ff81c8c 100644
--- a/mpn/pa32/hppa2_0/gmp-mparam.h
+++ b/mpn/pa32/hppa2_0/gmp-mparam.h
@@ -21,53 +21,56 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define GMP_LIMB_BITS 32
#define BYTES_PER_MP_LIMB 4
-/* Generated by tuneup.c, 2009-03-05, gcc 4.3 */
+/* 552 MHz PA8600 (gcc61.fsffrance.org) */
-#define MUL_TOOM22_THRESHOLD 15
-#define MUL_TOOM33_THRESHOLD 98
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
+
+#define MUL_TOOM22_THRESHOLD 22
+#define MUL_TOOM33_THRESHOLD 104
#define MUL_TOOM44_THRESHOLD 158
#define SQR_BASECASE_THRESHOLD 6
-#define SQR_TOOM2_THRESHOLD 48
-#define SQR_TOOM3_THRESHOLD 97
-#define SQR_TOOM4_THRESHOLD 232
+#define SQR_TOOM2_THRESHOLD 51
+#define SQR_TOOM3_THRESHOLD 89
+#define SQR_TOOM4_THRESHOLD 250
+
+#define MUL_FFT_TABLE { 304, 672, 1152, 2560, 6144, 24576, 98304, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD 232
+#define MUL_FFT_THRESHOLD 1792
+
+#define SQR_FFT_TABLE { 304, 672, 1152, 2560, 6144, 24576, 98304, 393216, 0 }
+#define SQR_FFT_MODF_THRESHOLD 232
+#define SQR_FFT_THRESHOLD 1792
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 92
-#define MULLOW_MUL_N_THRESHOLD 363
+#define MULLOW_DC_THRESHOLD 90
+#define MULLOW_MUL_N_THRESHOLD 2350
-#define DIV_SB_PREINV_THRESHOLD 4
-#define DIV_DC_THRESHOLD 92
-#define POWM_THRESHOLD 142
+#define MULMOD_BNM1_THRESHOLD 16
-#define MATRIX22_STRASSEN_THRESHOLD 17
-#define HGCD_THRESHOLD 100
-#define GCD_DC_THRESHOLD 365
-#define GCDEXT_DC_THRESHOLD 339
+#define DC_DIV_QR_THRESHOLD 100
+#define REDC_1_TO_REDC_N_THRESHOLD 89
+
+#define MATRIX22_STRASSEN_THRESHOLD 11
+#define HGCD_THRESHOLD 101
+#define GCD_DC_THRESHOLD 368
+#define GCDEXT_DC_THRESHOLD 330
#define JACOBI_BASE_METHOD 2
-#define DIVREM_1_NORM_THRESHOLD 3
-#define DIVREM_1_UNNORM_THRESHOLD 5
+#define DIVREM_1_NORM_THRESHOLD 0 /* always */
+#define DIVREM_1_UNNORM_THRESHOLD 4
#define MOD_1_NORM_THRESHOLD 4
-#define MOD_1_UNNORM_THRESHOLD 5
-#define MOD_1_1_THRESHOLD 6
-#define MOD_1_2_THRESHOLD 9
-#define MOD_1_4_THRESHOLD 24
+#define MOD_1_UNNORM_THRESHOLD 4
+#define MOD_1_1_THRESHOLD 12
+#define MOD_1_2_THRESHOLD 13
+#define MOD_1_4_THRESHOLD 18
#define USE_PREINV_DIVREM_1 1
-#define USE_PREINV_MOD_1 1
+#define USE_PREINV_MOD_1 0
#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 8
-#define GET_STR_PRECOMPUTE_THRESHOLD 13
+#define GET_STR_DC_THRESHOLD 7
+#define GET_STR_PRECOMPUTE_THRESHOLD 14
#define SET_STR_DC_THRESHOLD 224
#define SET_STR_PRECOMPUTE_THRESHOLD 702
-
-#define MUL_FFT_TABLE { 272, 672, 896, 2560, 6144, 24576, 98304, 393216, 0 }
-#define MUL_FFT_MODF_THRESHOLD 232
-#define MUL_FFT_THRESHOLD 1792
-
-#define SQR_FFT_TABLE { 304, 672, 1152, 2560, 10240, 24576, 98304, 393216, 0 }
-#define SQR_FFT_MODF_THRESHOLD 232
-#define SQR_FFT_THRESHOLD 1792
diff --git a/mpn/pa64/gmp-mparam.h b/mpn/pa64/gmp-mparam.h
index e8e11f32c..17a1509e7 100644
--- a/mpn/pa64/gmp-mparam.h
+++ b/mpn/pa64/gmp-mparam.h
@@ -1,6 +1,6 @@
/* gmp-mparam.h -- Compiler/machine parameter header file.
-Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2008
+Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009
Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -23,50 +23,54 @@ with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 440MHz PA8200 */
-/* Generated by tuneup.c, 2009-01-04, system compiler */
+/* Generated by tuneup.c, 2009-11-29, system compiler */
#define MUL_TOOM22_THRESHOLD 30
-#define MUL_TOOM33_THRESHOLD 114
-#define MUL_TOOM44_THRESHOLD 244
+#define MUL_TOOM33_THRESHOLD 113
+#define MUL_TOOM44_THRESHOLD 195
#define SQR_BASECASE_THRESHOLD 4
-#define SQR_TOOM2_THRESHOLD 58
-#define SQR_TOOM3_THRESHOLD 174
-#define SQR_TOOM4_THRESHOLD 312
+#define SQR_TOOM2_THRESHOLD 56
+#define SQR_TOOM3_THRESHOLD 169
+#define SQR_TOOM4_THRESHOLD 284
+
+#define MUL_FFT_TABLE { 336, 800, 1600, 2816, 7168, 20480, 81920, 327680, 0 }
+#define MUL_FFT_MODF_THRESHOLD 280
+#define MUL_FFT_THRESHOLD 1664
+
+#define SQR_FFT_TABLE { 368, 800, 1728, 3328, 7168, 20480, 81920, 327680, 786432, 0 }
+#define SQR_FFT_MODF_THRESHOLD 264
+#define SQR_FFT_THRESHOLD 1792
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 142
-#define MULLOW_MUL_N_THRESHOLD 507
+#define MULLOW_DC_THRESHOLD 111
+#define MULLOW_MUL_N_THRESHOLD 2764
+
+#define MULMOD_BNM1_THRESHOLD 16
-#define DIV_SB_PREINV_THRESHOLD 0 /* always */
-#define DIV_DC_THRESHOLD 124
-#define POWM_THRESHOLD 224
+#define DC_DIV_QR_THRESHOLD 140
+#define REDC_1_TO_REDC_N_THRESHOLD 121
#define MATRIX22_STRASSEN_THRESHOLD 11
-#define HGCD_THRESHOLD 294
-#define GCD_DC_THRESHOLD 913
-#define GCDEXT_DC_THRESHOLD 830
+#define HGCD_THRESHOLD 244
+#define GCD_DC_THRESHOLD 744
+#define GCDEXT_DC_THRESHOLD 744
#define JACOBI_BASE_METHOD 2
#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_1_1_THRESHOLD MP_SIZE_T_MAX /* never */
+#define MOD_1_2_THRESHOLD MP_SIZE_T_MAX /* never */
+#define MOD_1_4_THRESHOLD MP_SIZE_T_MAX /* never */
#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 0 /* always */
-#define GET_STR_DC_THRESHOLD 23
-#define GET_STR_PRECOMPUTE_THRESHOLD 26
-#define SET_STR_DC_THRESHOLD 2743
-#define SET_STR_PRECOMPUTE_THRESHOLD 5147
-
-#define MUL_FFT_TABLE { 400, 800, 1600, 2816, 7168, 20480, 81920, 327680, 0 }
-#define MUL_FFT_MODF_THRESHOLD 280
-#define MUL_FFT_THRESHOLD 1664
-
-#define SQR_FFT_TABLE { 368, 800, 1728, 3328, 7168, 20480, 81920, 327680, 786432, 0 }
-#define SQR_FFT_MODF_THRESHOLD 264
-#define SQR_FFT_THRESHOLD 1632
+#define GET_STR_DC_THRESHOLD 20
+#define GET_STR_PRECOMPUTE_THRESHOLD 23
+#define SET_STR_DC_THRESHOLD 2008
+#define SET_STR_PRECOMPUTE_THRESHOLD 4066
diff --git a/mpn/powerpc32/750/gmp-mparam.h b/mpn/powerpc32/750/gmp-mparam.h
index 23a0a0500..752b23285 100644
--- a/mpn/powerpc32/750/gmp-mparam.h
+++ b/mpn/powerpc32/750/gmp-mparam.h
@@ -1,6 +1,6 @@
/* PowerPC-32 gmp-mparam.h -- Compiler/machine parameter header file.
-Copyright 2002, 2004 Free Software Foundation, Inc.
+Copyright 2002, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -26,49 +26,53 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 450 MHz PPC 7400 */
-/* Generated by tuneup.c, 2008-12-23, gcc 4.0 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.0 */
#define MUL_TOOM22_THRESHOLD 10
-#define MUL_TOOM33_THRESHOLD 41
-#define MUL_TOOM44_THRESHOLD 88
+#define MUL_TOOM33_THRESHOLD 38
+#define MUL_TOOM44_THRESHOLD 99
#define SQR_BASECASE_THRESHOLD 4
#define SQR_TOOM2_THRESHOLD 18
#define SQR_TOOM3_THRESHOLD 57
-#define SQR_TOOM4_THRESHOLD 88
+#define SQR_TOOM4_THRESHOLD 143
+
+#define MUL_FFT_TABLE { 240, 672, 896, 2560, 6144, 40960, 98304, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD 232
+#define MUL_FFT_THRESHOLD 2816
+
+#define SQR_FFT_TABLE { 240, 544, 896, 2560, 6144, 24576, 98304, 393216, 0 }
+#define SQR_FFT_MODF_THRESHOLD 216
+#define SQR_FFT_THRESHOLD 2304
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 32
-#define MULLOW_MUL_N_THRESHOLD 194
+#define MULLOW_DC_THRESHOLD 33
+#define MULLOW_MUL_N_THRESHOLD 5472
+
+#define MULMOD_BNM1_THRESHOLD 12
-#define DIV_SB_PREINV_THRESHOLD 0 /* always */
-#define DIV_DC_THRESHOLD 33
-#define POWM_THRESHOLD 48
+#define DC_DIV_QR_THRESHOLD 31
+#define REDC_1_TO_REDC_N_THRESHOLD 43
-#define MATRIX22_STRASSEN_THRESHOLD 13
-#define HGCD_THRESHOLD 91
-#define GCD_DC_THRESHOLD 256
-#define GCDEXT_DC_THRESHOLD 256
+#define MATRIX22_STRASSEN_THRESHOLD 11
+#define HGCD_THRESHOLD 90
+#define GCD_DC_THRESHOLD 253
+#define GCDEXT_DC_THRESHOLD 268
#define JACOBI_BASE_METHOD 1
#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_1_1_THRESHOLD 4
+#define MOD_1_2_THRESHOLD MP_SIZE_T_MAX /* never */
+#define MOD_1_4_THRESHOLD MP_SIZE_T_MAX /* never */
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 13
+#define GET_STR_DC_THRESHOLD 12
#define GET_STR_PRECOMPUTE_THRESHOLD 27
-#define SET_STR_DC_THRESHOLD 390
-#define SET_STR_PRECOMPUTE_THRESHOLD 814
-
-#define MUL_FFT_TABLE { 240, 608, 896, 2560, 6144, 40960, 0 }
-#define MUL_FFT_MODF_THRESHOLD 232
-#define MUL_FFT_THRESHOLD 1792
-
-#define SQR_FFT_TABLE { 240, 544, 896, 2560, 6144, 24576, 0 }
-#define SQR_FFT_MODF_THRESHOLD 216
-#define SQR_FFT_THRESHOLD 1792
+#define SET_STR_DC_THRESHOLD 387
+#define SET_STR_PRECOMPUTE_THRESHOLD 824
diff --git a/mpn/powerpc32/gmp-mparam.h b/mpn/powerpc32/gmp-mparam.h
index a0e40edad..cfcf9dd1c 100644
--- a/mpn/powerpc32/gmp-mparam.h
+++ b/mpn/powerpc32/gmp-mparam.h
@@ -32,7 +32,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 1417 MHz PPC 7447A */
-/* Generated by tuneup.c, 2009-01-14, gcc 4.3 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.3 */
#define MUL_TOOM22_THRESHOLD 14
#define MUL_TOOM33_THRESHOLD 73
@@ -43,41 +43,42 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define SQR_TOOM3_THRESHOLD 77
#define SQR_TOOM4_THRESHOLD 130
+#define MUL_FFT_TABLE { 304, 672, 896, 2560, 6144, 24576, 98304, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD 320
+#define MUL_FFT_THRESHOLD 2816
+
+#define SQR_FFT_TABLE { 272, 672, 1152, 2560, 10240, 24576, 98304, 393216, 0 }
+#define SQR_FFT_MODF_THRESHOLD 288
+#define SQR_FFT_THRESHOLD 2304
+
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 52
-#define MULLOW_MUL_N_THRESHOLD 292
+#define MULLOW_DC_THRESHOLD 45
+#define MULLOW_MUL_N_THRESHOLD 5472
+
+#define MULMOD_BNM1_THRESHOLD 12
-#define DIV_SB_PREINV_THRESHOLD 0 /* always */
-#define DIV_DC_THRESHOLD 46
-#define POWM_THRESHOLD 87
+#define DC_DIV_QR_THRESHOLD 43
+#define REDC_1_TO_REDC_N_THRESHOLD 59
#define MATRIX22_STRASSEN_THRESHOLD 15
-#define HGCD_THRESHOLD 127
-#define GCD_DC_THRESHOLD 361
-#define GCDEXT_DC_THRESHOLD 382
+#define HGCD_THRESHOLD 123
+#define GCD_DC_THRESHOLD 354
+#define GCDEXT_DC_THRESHOLD 368
#define JACOBI_BASE_METHOD 1
#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_1_1_THRESHOLD 7
-#define MOD_1_2_THRESHOLD 21
-#define MOD_1_4_THRESHOLD 68
+#define MOD_1_1_THRESHOLD 6
+#define MOD_1_2_THRESHOLD 15
+#define MOD_1_4_THRESHOLD 74
#define USE_PREINV_DIVREM_1 1
-#define USE_PREINV_MOD_1 1
+#define USE_PREINV_MOD_1 0
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 22
-#define GET_STR_PRECOMPUTE_THRESHOLD 42
+#define GET_STR_DC_THRESHOLD 17
+#define GET_STR_PRECOMPUTE_THRESHOLD 37
#define SET_STR_DC_THRESHOLD 788
-#define SET_STR_PRECOMPUTE_THRESHOLD 1554
-
-#define MUL_FFT_TABLE { 304, 672, 1152, 2560, 6144, 24576, 0 }
-#define MUL_FFT_MODF_THRESHOLD 320
-#define MUL_FFT_THRESHOLD 2816
-
-#define SQR_FFT_TABLE { 272, 672, 1152, 2560, 10240, 24576, 0 }
-#define SQR_FFT_MODF_THRESHOLD 288
-#define SQR_FFT_THRESHOLD 2304
+#define SET_STR_PRECOMPUTE_THRESHOLD 1495
diff --git a/mpn/sparc64/gmp-mparam.h b/mpn/sparc64/gmp-mparam.h
index 88f387240..b7effbbb2 100644
--- a/mpn/sparc64/gmp-mparam.h
+++ b/mpn/sparc64/gmp-mparam.h
@@ -21,55 +21,57 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define GMP_LIMB_BITS 64
#define BYTES_PER_MP_LIMB 8
-/* Generated by tuneup.c, 2009-01-15, gcc 3.4 */
+/* 500 MHz ultrasparc2 running GNU/Linux */
+
+/* Generated by tuneup.c, 2009-11-29, gcc 4.1 */
#define MUL_TOOM22_THRESHOLD 30
-#define MUL_TOOM33_THRESHOLD 93
-#define MUL_TOOM44_THRESHOLD 142
+#define MUL_TOOM33_THRESHOLD 171
+#define MUL_TOOM44_THRESHOLD 256
-#define SQR_BASECASE_THRESHOLD 9
-#define SQR_TOOM2_THRESHOLD 70
-#define SQR_TOOM3_THRESHOLD 99
-#define SQR_TOOM4_THRESHOLD 175
+#define SQR_BASECASE_THRESHOLD 10
+#define SQR_TOOM2_THRESHOLD 71
+#define SQR_TOOM3_THRESHOLD 116
+#define SQR_TOOM4_THRESHOLD 336
-#define MUL_FFT_TABLE { 240, 480, 1344, 2304, 5120, 12288, 81920, 327680, 786432, 0 }
-#define MUL_FFT_MODF_THRESHOLD 216
+#define MUL_FFT_TABLE { 240, 608, 1600, 2816, 7168, 20480, 81920, 196608, 786432, 0 }
+#define MUL_FFT_MODF_THRESHOLD 184
#define MUL_FFT_THRESHOLD 1664
-#define SQR_FFT_TABLE { 304, 608, 1344, 2304, 7168, 12288, 81920, 327680, 0 }
-#define SQR_FFT_MODF_THRESHOLD 216
-#define SQR_FFT_THRESHOLD 1408
+#define SQR_FFT_TABLE { 336, 672, 1600, 2816, 7168, 20480, 49152, 196608, 786432, 0 }
+#define SQR_FFT_MODF_THRESHOLD 200
+#define SQR_FFT_THRESHOLD 1536
-#define MULLOW_BASECASE_THRESHOLD 11
-#define MULLOW_DC_THRESHOLD 0 /* never mpn_mullow_basecase */
-#define MULLOW_MUL_N_THRESHOLD 2350
+#define MULLOW_BASECASE_THRESHOLD 18
+#define MULLOW_DC_THRESHOLD 33
+#define MULLOW_MUL_N_THRESHOLD 3152
-#define MULMOD_BNM1_THRESHOLD 12
+#define MULMOD_BNM1_THRESHOLD 16
-#define DC_DIV_QR_THRESHOLD 15
-#define REDC_2_THRESHOLD 10
-#define REDC_N_THRESHOLD 190
+#define DC_DIV_QR_THRESHOLD 27
+#define REDC_1_TO_REDC_2_THRESHOLD 10
+#define REDC_2_TO_REDC_N_THRESHOLD 107
#define MATRIX22_STRASSEN_THRESHOLD 12
-#define HGCD_THRESHOLD 47
-#define GCD_DC_THRESHOLD 130
-#define GCDEXT_DC_THRESHOLD 183
+#define HGCD_THRESHOLD 56
+#define GCD_DC_THRESHOLD 283
+#define GCDEXT_DC_THRESHOLD 198
#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_1_1_THRESHOLD MP_SIZE_T_MAX /* never */
+#define DIVREM_1_NORM_THRESHOLD 3
+#define DIVREM_1_UNNORM_THRESHOLD 3
+#define MOD_1_NORM_THRESHOLD 3
+#define MOD_1_UNNORM_THRESHOLD 3
+#define MOD_1_1_THRESHOLD 5
#define MOD_1_2_THRESHOLD MP_SIZE_T_MAX /* never */
#define MOD_1_4_THRESHOLD MP_SIZE_T_MAX /* never */
#define USE_PREINV_DIVREM_1 1
#define USE_PREINV_MOD_1 1
-#define DIVREM_2_THRESHOLD 0 /* always */
+#define DIVREM_2_THRESHOLD 7
#define DIVEXACT_1_THRESHOLD 0 /* always */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always */
-#define GET_STR_DC_THRESHOLD 18
-#define GET_STR_PRECOMPUTE_THRESHOLD 28
-#define SET_STR_DC_THRESHOLD 286
-#define SET_STR_PRECOMPUTE_THRESHOLD 1045
+#define GET_STR_DC_THRESHOLD 12
+#define GET_STR_PRECOMPUTE_THRESHOLD 17
+#define SET_STR_DC_THRESHOLD 381
+#define SET_STR_PRECOMPUTE_THRESHOLD 1659 |
diff --git a/mpn/x86/k7/gmp-mparam.h b/mpn/x86/k7/gmp-mparam.h
index fc65b1f82..72a4c37bb 100644
--- a/mpn/x86/k7/gmp-mparam.h
+++ b/mpn/x86/k7/gmp-mparam.h
@@ -24,22 +24,22 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 1883 MHz Athlon */
-/* Generated by tuneup.c, 2009-11-27, gcc 4.2 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
#define MUL_TOOM22_THRESHOLD 28
#define MUL_TOOM33_THRESHOLD 85
-#define MUL_TOOM44_THRESHOLD 148
+#define MUL_TOOM44_THRESHOLD 147
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 50
-#define SQR_TOOM3_THRESHOLD 84
-#define SQR_TOOM4_THRESHOLD 212
+#define SQR_TOOM3_THRESHOLD 87
+#define SQR_TOOM4_THRESHOLD 216
-#define MUL_FFT_TABLE { 400, 800, 1408, 3584, 10240, 40960, 163840, 655360, 0 }
+#define MUL_FFT_TABLE { 432, 800, 1408, 3584, 10240, 40960, 163840, 655360, 0 }
#define MUL_FFT_MODF_THRESHOLD 656
#define MUL_FFT_THRESHOLD 7680
-#define SQR_FFT_TABLE { 400, 800, 1408, 3584, 10240, 24576, 163840, 393216, 0 }
+#define SQR_FFT_TABLE { 432, 800, 1408, 3584, 10240, 24576, 229376, 655360, 0 }
#define SQR_FFT_MODF_THRESHOLD 560
#define SQR_FFT_THRESHOLD 3840
@@ -47,14 +47,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MULLOW_DC_THRESHOLD 56
#define MULLOW_MUL_N_THRESHOLD 11138
-#define MULMOD_BNM1_THRESHOLD 16
+#define MULMOD_BNM1_THRESHOLD 20
-#define DC_DIV_QR_THRESHOLD 86
-#define REDC_1_TO_REDC_N_THRESHOLD 158
+#define DC_DIV_QR_THRESHOLD 78
+#define REDC_1_TO_REDC_N_THRESHOLD 86
-#define MATRIX22_STRASSEN_THRESHOLD 15
+#define MATRIX22_STRASSEN_THRESHOLD 16
#define HGCD_THRESHOLD 164
-#define GCD_DC_THRESHOLD 591
+#define GCD_DC_THRESHOLD 580
#define GCDEXT_DC_THRESHOLD 558
#define JACOBI_BASE_METHOD 1
@@ -62,16 +62,16 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MOD_1_UNNORM_THRESHOLD 3
#define MOD_1_1_THRESHOLD 6
#define MOD_1_2_THRESHOLD 7
-#define MOD_1_4_THRESHOLD 20
+#define MOD_1_4_THRESHOLD 18
#define USE_PREINV_DIVREM_1 1 /* native */
#define USE_PREINV_MOD_1 0
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 14
-#define GET_STR_PRECOMPUTE_THRESHOLD 32
-#define SET_STR_DC_THRESHOLD 327
-#define SET_STR_PRECOMPUTE_THRESHOLD 1558
+#define GET_STR_DC_THRESHOLD 22
+#define GET_STR_PRECOMPUTE_THRESHOLD 37
+#define SET_STR_DC_THRESHOLD 537
+#define SET_STR_PRECOMPUTE_THRESHOLD 1576
/* These tables need to be updated. */
diff --git a/mpn/x86/p6/sse2/gmp-mparam.h b/mpn/x86/p6/sse2/gmp-mparam.h
index 6c2856550..3b4321c8c 100644
--- a/mpn/x86/p6/sse2/gmp-mparam.h
+++ b/mpn/x86/p6/sse2/gmp-mparam.h
@@ -30,45 +30,51 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 1867 MHz P6 model 13 */
-/* Generated by tuneupc, 2008-10-30, gcc 4.3 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.3 */
#define MUL_TOOM22_THRESHOLD 20
#define MUL_TOOM33_THRESHOLD 77
-#define MUL_TOOM44_THRESHOLD 142
+#define MUL_TOOM44_THRESHOLD 182
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 30
-#define SQR_TOOM3_THRESHOLD 101
+#define SQR_TOOM3_THRESHOLD 102
#define SQR_TOOM4_THRESHOLD 154
-#define MULLOW_BASECASE_THRESHOLD 4
-#define MULLOW_DC_THRESHOLD 38
-#define MULLOW_MUL_N_THRESHOLD 234
+#define MUL_FFT_TABLE { 400, 928, 1664, 4608, 10240, 40960, 163840, 393216, 0 }
+#define MUL_FFT_MODF_THRESHOLD 496
+#define MUL_FFT_THRESHOLD 7168
+
+#define SQR_FFT_TABLE { 400, 928, 1664, 3584, 10240, 40960, 98304, 655360, 0 }
+#define SQR_FFT_MODF_THRESHOLD 496
+#define SQR_FFT_THRESHOLD 3840
+
+#define MULLOW_BASECASE_THRESHOLD 0 /* always */
+#define MULLOW_DC_THRESHOLD 40
+#define MULLOW_MUL_N_THRESHOLD 11138
+
+#define MULMOD_BNM1_THRESHOLD 16
-#define DIV_SB_PREINV_THRESHOLD 0 /* always */
-#define DIV_DC_THRESHOLD 24
-#define POWM_THRESHOLD 150
+#define DC_DIV_QR_THRESHOLD 19
+#define REDC_1_TO_REDC_N_THRESHOLD 73
-#define MATRIX22_STRASSEN_THRESHOLD 23
-#define HGCD_THRESHOLD 95
-#define GCD_DC_THRESHOLD 381
-#define GCDEXT_DC_THRESHOLD 419
+#define MATRIX22_STRASSEN_THRESHOLD 17
+#define HGCD_THRESHOLD 94
+#define GCD_DC_THRESHOLD 400
+#define GCDEXT_DC_THRESHOLD 400
#define JACOBI_BASE_METHOD 1
+#define MOD_1_NORM_THRESHOLD 3
+#define MOD_1_UNNORM_THRESHOLD 5
+#define MOD_1_1_THRESHOLD 5
+#define MOD_1_2_THRESHOLD 7
+#define MOD_1_4_THRESHOLD 8
#define USE_PREINV_DIVREM_1 1 /* native */
-#define USE_PREINV_MOD_1 1 /* native */
+#define USE_PREINV_MOD_1 1
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 14
-#define GET_STR_PRECOMPUTE_THRESHOLD 24
-#define SET_STR_DC_THRESHOLD 276
-#define SET_STR_PRECOMPUTE_THRESHOLD 1078
-
-#define MUL_FFT_TABLE { 400, 928, 1664, 3584, 10240, 40960, 98304, 393216, 1572864, 0 }
-#define MUL_FFT_MODF_THRESHOLD 496
-#define MUL_FFT_THRESHOLD 7168
-
-#define SQR_FFT_TABLE { 432, 928, 1664, 3584, 10240, 40960, 98304, 393216, 1572864, 0 }
-#define SQR_FFT_MODF_THRESHOLD 448
-#define SQR_FFT_THRESHOLD 3840
+#define GET_STR_DC_THRESHOLD 13
+#define GET_STR_PRECOMPUTE_THRESHOLD 20
+#define SET_STR_DC_THRESHOLD 582
+#define SET_STR_PRECOMPUTE_THRESHOLD 1076
diff --git a/mpn/x86/pentium4/sse2/gmp-mparam.h b/mpn/x86/pentium4/sse2/gmp-mparam.h
index da9ace622..c7f575d18 100644
--- a/mpn/x86/pentium4/sse2/gmp-mparam.h
+++ b/mpn/x86/pentium4/sse2/gmp-mparam.h
@@ -22,47 +22,53 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define BYTES_PER_MP_LIMB 4
-/* 2600 MHz Pentium 4 model 2 */
+/* 2600 MHz Pentium 4 model 2 (bonk.sics.se) */
-/* Generated by tuneup.c, 2009-01-06, gcc 3.4 */
+/* Generated by tuneup.c, 2009-11-28, gcc 4.0 */
#define MUL_TOOM22_THRESHOLD 31
-#define MUL_TOOM33_THRESHOLD 119
-#define MUL_TOOM44_THRESHOLD 178
+#define MUL_TOOM33_THRESHOLD 162
+#define MUL_TOOM44_THRESHOLD 336
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 49
-#define SQR_TOOM3_THRESHOLD 165
-#define SQR_TOOM4_THRESHOLD 252
+#define SQR_TOOM3_THRESHOLD 171
+#define SQR_TOOM4_THRESHOLD 458
-#define MULLOW_BASECASE_THRESHOLD 15
-#define MULLOW_DC_THRESHOLD 44
-#define MULLOW_MUL_N_THRESHOLD 363
+#define MUL_FFT_TABLE { 528, 1184, 1664, 4608, 14336, 40960, 229376, 655360, 0 }
+#define MUL_FFT_MODF_THRESHOLD 592
+#define MUL_FFT_THRESHOLD 9216
+
+#define SQR_FFT_TABLE { 496, 1184, 1920, 5632, 14336, 40960, 163840, 655360, 0 }
+#define SQR_FFT_MODF_THRESHOLD 512
+#define SQR_FFT_THRESHOLD 4864
+
+#define MULLOW_BASECASE_THRESHOLD 12
+#define MULLOW_DC_THRESHOLD 51
+#define MULLOW_MUL_N_THRESHOLD 15896
+
+#define MULMOD_BNM1_THRESHOLD 20
-#define DIV_SB_PREINV_THRESHOLD MP_SIZE_T_MAX /* never */
-#define DIV_DC_THRESHOLD 33
-#define POWM_THRESHOLD 95
+#define DC_DIV_QR_THRESHOLD 30
+#define REDC_1_TO_REDC_N_THRESHOLD 75
-#define MATRIX22_STRASSEN_THRESHOLD 23
-#define HGCD_THRESHOLD 64
-#define GCD_DC_THRESHOLD 310
-#define GCDEXT_DC_THRESHOLD 310
-#define JACOBI_BASE_METHOD 1
+#define MATRIX22_STRASSEN_THRESHOLD 27
+#define HGCD_THRESHOLD 74
+#define GCD_DC_THRESHOLD 293
+#define GCDEXT_DC_THRESHOLD 278
+#define JACOBI_BASE_METHOD 2
+#define MOD_1_NORM_THRESHOLD 29
+#define MOD_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
+#define MOD_1_1_THRESHOLD 12
+#define MOD_1_2_THRESHOLD 17
+#define MOD_1_4_THRESHOLD 18
#define USE_PREINV_DIVREM_1 1 /* native */
-#define USE_PREINV_MOD_1 1 /* native */
+#define USE_PREINV_MOD_1 1
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 11
-#define GET_STR_PRECOMPUTE_THRESHOLD 26
-#define SET_STR_DC_THRESHOLD 118
-#define SET_STR_PRECOMPUTE_THRESHOLD 1078
-
-#define MUL_FFT_TABLE { 560, 928, 1920, 5632, 14336, 40960, 0 }
-#define MUL_FFT_MODF_THRESHOLD 720
-#define MUL_FFT_THRESHOLD 9216
-
-#define SQR_FFT_TABLE { 592, 928, 1920, 4608, 14336, 40960, 0 }
-#define SQR_FFT_MODF_THRESHOLD 608
-#define SQR_FFT_THRESHOLD 5888
+#define GET_STR_DC_THRESHOLD 12
+#define GET_STR_PRECOMPUTE_THRESHOLD 24
+#define SET_STR_DC_THRESHOLD 143
+#define SET_STR_PRECOMPUTE_THRESHOLD 929
diff --git a/mpn/x86_64/atom/gmp-mparam.h b/mpn/x86_64/atom/gmp-mparam.h
index c9431d569..f5d00d3a1 100644
--- a/mpn/x86_64/atom/gmp-mparam.h
+++ b/mpn/x86_64/atom/gmp-mparam.h
@@ -22,39 +22,39 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define BYTES_PER_MP_LIMB 8
-/* Generated by tuneup.c, 2009-11-26, gcc 4.4 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.4 */
#define MUL_TOOM22_THRESHOLD 10
#define MUL_TOOM33_THRESHOLD 66
-#define MUL_TOOM44_THRESHOLD 105
+#define MUL_TOOM44_THRESHOLD 118
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 16
#define SQR_TOOM3_THRESHOLD 65
-#define SQR_TOOM4_THRESHOLD 169
+#define SQR_TOOM4_THRESHOLD 166
-#define MUL_FFT_TABLE { 272, 544, 1088, 1792, 5120, 12288, 49152, 196608, 786432, 0 }
+#define MUL_FFT_TABLE { 272, 544, 1088, 1792, 5120, 20480, 49152, 196608, 786432, 0 }
#define MUL_FFT_MODF_THRESHOLD 240
-#define MUL_FFT_THRESHOLD 1408
+#define MUL_FFT_THRESHOLD 1664
#define SQR_FFT_TABLE { 272, 544, 1088, 1792, 5120, 12288, 49152, 196608, 786432, 0 }
#define SQR_FFT_MODF_THRESHOLD 216
#define SQR_FFT_THRESHOLD 1408
-#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 25
+#define MULLOW_BASECASE_THRESHOLD 2
+#define MULLOW_DC_THRESHOLD 23
#define MULLOW_MUL_N_THRESHOLD 2350
-#define MULMOD_BNM1_THRESHOLD 8
+#define MULMOD_BNM1_THRESHOLD 12
#define DC_DIV_QR_THRESHOLD 27
#define REDC_1_TO_REDC_2_THRESHOLD 12
-#define REDC_2_TO_REDC_N_THRESHOLD 60
+#define REDC_2_TO_REDC_N_THRESHOLD 42
-#define MATRIX22_STRASSEN_THRESHOLD 13
-#define HGCD_THRESHOLD 87
-#define GCD_DC_THRESHOLD 201
-#define GCDEXT_DC_THRESHOLD 233
+#define MATRIX22_STRASSEN_THRESHOLD 21
+#define HGCD_THRESHOLD 86
+#define GCD_DC_THRESHOLD 195
+#define GCDEXT_DC_THRESHOLD 221
#define JACOBI_BASE_METHOD 2
#define MOD_1_NORM_THRESHOLD 0 /* always */
@@ -67,10 +67,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 15
+#define GET_STR_DC_THRESHOLD 16
#define GET_STR_PRECOMPUTE_THRESHOLD 27
-#define SET_STR_DC_THRESHOLD 268
-#define SET_STR_PRECOMPUTE_THRESHOLD 1120
+#define SET_STR_DC_THRESHOLD 234
+#define SET_STR_PRECOMPUTE_THRESHOLD 1105
/* These tables need to be updated. */
diff --git a/mpn/x86_64/core2/gmp-mparam.h b/mpn/x86_64/core2/gmp-mparam.h
index 7ec4783e2..373c979f4 100644
--- a/mpn/x86_64/core2/gmp-mparam.h
+++ b/mpn/x86_64/core2/gmp-mparam.h
@@ -23,40 +23,38 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 2133 MHz Core 2 (65nm) */
-/* Generated by tuneup.c, 2009-11-24, gcc 4.2 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
-/* Generated by tuneup.c, 2009-11-26, gcc 4.2 */
-
-#define MUL_TOOM22_THRESHOLD 23
-#define MUL_TOOM33_THRESHOLD 66
-#define MUL_TOOM44_THRESHOLD 178
+#define MUL_TOOM22_THRESHOLD 22
+#define MUL_TOOM33_THRESHOLD 65
+#define MUL_TOOM44_THRESHOLD 169
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 28
-#define SQR_TOOM3_THRESHOLD 101
-#define SQR_TOOM4_THRESHOLD 143
+#define SQR_TOOM3_THRESHOLD 85
+#define SQR_TOOM4_THRESHOLD 142
-#define MUL_FFT_TABLE { 336, 800, 1600, 2816, 7168, 20480, 81920, 327680, 0 }
+#define MUL_FFT_TABLE { 400, 800, 1600, 2816, 7168, 20480, 81920, 196608, 0 }
#define MUL_FFT_MODF_THRESHOLD 400
#define MUL_FFT_THRESHOLD 4224
-#define SQR_FFT_TABLE { 304, 736, 1728, 3328, 7168, 20480, 81920, 327680, 0 }
-#define SQR_FFT_MODF_THRESHOLD 336
+#define SQR_FFT_TABLE { 336, 736, 1728, 2816, 7168, 20480, 81920, 327680, 0 }
+#define SQR_FFT_MODF_THRESHOLD 368
#define SQR_FFT_THRESHOLD 2688
#define MULLOW_BASECASE_THRESHOLD 0 /* always */
-#define MULLOW_DC_THRESHOLD 19
+#define MULLOW_DC_THRESHOLD 20
#define MULLOW_MUL_N_THRESHOLD 5472
-#define MULMOD_BNM1_THRESHOLD 12
+#define MULMOD_BNM1_THRESHOLD 20
-#define DC_DIV_QR_THRESHOLD 52
+#define DC_DIV_QR_THRESHOLD 46
#define REDC_1_TO_REDC_2_THRESHOLD 10
-#define REDC_2_TO_REDC_N_THRESHOLD 111
+#define REDC_2_TO_REDC_N_THRESHOLD 74
-#define MATRIX22_STRASSEN_THRESHOLD 25
+#define MATRIX22_STRASSEN_THRESHOLD 17
#define HGCD_THRESHOLD 135
-#define GCD_DC_THRESHOLD 443
+#define GCD_DC_THRESHOLD 451
#define GCDEXT_DC_THRESHOLD 460
#define JACOBI_BASE_METHOD 1
@@ -72,10 +70,5 @@ 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 21
-#define SET_STR_DC_THRESHOLD 704
-#define SET_STR_PRECOMPUTE_THRESHOLD 1785
-
-/* These tables are obsolete. */
-#define MUL_FFT_TABLE2 {{1,4}, {273,5}, {545,6}, {1217,7}, {3201,8}, {6913,9}, {7681,8}, {8449,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {34305,10}, {39937,9}, {42497,10}, {56321,11}, {63489,10}, {81409,11}, {92161,10}, {93185,11}, {96257,12}, {126977,11}, {131073,10}, {138241,11}, {167937,10}, {169473,11}, {169985,10}, {172033,11}, {195585,9}, {196097,11}, {198657,10}, {208897,11}, {217089,12}, {258049,11}, {261121,9}, {262657,10}, {275457,11}, {302081,10}, {307201,11}, {331777,12}, {389121,11}, {425985,13}, {516097,12}, {520193,11}, {598017,12}, {610305,11}, {614401,12}, {651265,11}, {653313,10}, {654337,11}, {673793,10}, {674817,11}, {677889,10}, {679937,11}, {718849,10}, {719873,12}, {782337,11}, {850945,12}, {913409,11}, {925697,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1244161,12}, {1306625,11}, {1310721,12}, {1327105,11}, {1347585,12}, {1355777,11}, {1366017,12}, {1439745,13}, {1564673,12}, {1835009,14}, {1900545,12}, {1904641,14}, {2080769,13}, {2088961,12}, {2488321,13}, {2613249,12}, {2879489,13}, {2932737,12}, {2940929,13}, {3137537,12}, {3403777,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4978689,13}, {5234689,12}, {5500929,13}, {5758977,14}, {6275073,13}, {7856129,15}, {8355841,14}, {8372225,13}, {9957377,14}, {MP_SIZE_T_MAX, 0}}
-
-#define SQR_FFT_TABLE2 {{1,4}, {241,5}, {545,6}, {1345,7}, {3201,8}, {6913,9}, {7681,8}, {8961,9}, {9729,8}, {10497,9}, {13825,10}, {15361,9}, {19969,10}, {23553,9}, {28161,11}, {30721,10}, {31745,9}, {34305,10}, {55297,11}, {63489,10}, {80897,11}, {94209,10}, {97281,12}, {126977,11}, {129025,9}, {130049,10}, {138753,11}, {162817,9}, {164353,11}, {170497,10}, {178177,11}, {183297,10}, {184321,11}, {194561,10}, {208897,12}, {219137,11}, {221185,12}, {258049,11}, {261121,9}, {261633,10}, {267777,9}, {268289,11}, {270337,10}, {274945,9}, {276481,10}, {278529,11}, {292865,9}, {293377,10}, {295937,9}, {296449,10}, {306177,9}, {309249,10}, {310273,11}, {328705,12}, {331777,11}, {335873,12}, {344065,11}, {346113,12}, {352257,11}, {356353,12}, {389121,11}, {395265,10}, {398337,11}, {419841,10}, {421889,11}, {423937,13}, {516097,12}, {520193,11}, {546817,10}, {550913,11}, {561153,10}, {563201,11}, {579585,10}, {585729,11}, {621569,12}, {636929,11}, {638977,12}, {651265,11}, {714753,10}, {716801,11}, {718849,12}, {782337,11}, {849921,12}, {913409,11}, {954369,13}, {1040385,12}, {1044481,11}, {1112065,12}, {1175553,11}, {1243137,12}, {1306625,11}, {1374209,12}, {1437697,13}, {1564673,12}, {1961985,14}, {2080769,13}, {2088961,12}, {2486273,13}, {2613249,12}, {2879489,13}, {3137537,12}, {3272705,13}, {3661825,12}, {3928065,14}, {4177921,13}, {4186113,12}, {4452353,13}, {4710401,12}, {4976641,13}, {5234689,12}, {5320705,13}, {5324801,12}, {5447681,13}, {5455873,12}, {5500929,13}, {5758977,14}, {6275073,13}, {6283265,12}, {6549505,13}, {7856129,15}, {8355841,14}, {8372225,13}, {9953281,14}, {MP_SIZE_T_MAX, 0}}
+#define SET_STR_DC_THRESHOLD 172
+#define SET_STR_PRECOMPUTE_THRESHOLD 2058
diff --git a/mpn/x86_64/corei/gmp-mparam.h b/mpn/x86_64/corei/gmp-mparam.h
index 8e60f94de..9ae53462b 100644
--- a/mpn/x86_64/corei/gmp-mparam.h
+++ b/mpn/x86_64/corei/gmp-mparam.h
@@ -23,7 +23,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 2667 MHz Core i7 */
-/* Generated by tuneup.c, 2009-11-24, gcc 4.2 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
#define MUL_TOOM22_THRESHOLD 16
#define MUL_TOOM33_THRESHOLD 66
@@ -31,10 +31,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 30
-#define SQR_TOOM3_THRESHOLD 105
+#define SQR_TOOM3_THRESHOLD 102
#define SQR_TOOM4_THRESHOLD 250
-#define MUL_FFT_TABLE { 336, 800, 1600, 2816, 7168, 20480, 81920, 196608, 786432, 0 }
+#define MUL_FFT_TABLE { 336, 800, 1600, 2816, 7168, 20480, 81920, 196608, 0 }
#define MUL_FFT_MODF_THRESHOLD 400
#define MUL_FFT_THRESHOLD 3456
@@ -42,20 +42,20 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define SQR_FFT_MODF_THRESHOLD 368
#define SQR_FFT_THRESHOLD 2688
-#define MULLOW_BASECASE_THRESHOLD 4
+#define MULLOW_BASECASE_THRESHOLD 3
#define MULLOW_DC_THRESHOLD 21
#define MULLOW_MUL_N_THRESHOLD 5472
-#define MULMOD_BNM1_THRESHOLD 12
+#define MULMOD_BNM1_THRESHOLD 16
#define DC_DIV_QR_THRESHOLD 38
-#define REDC_1_TO_REDC_2_THRESHOLD 10
-#define REDC_2_TO_REDC_N_THRESHOLD 110
+#define REDC_1_TO_REDC_2_THRESHOLD 11
+#define REDC_2_TO_REDC_N_THRESHOLD 72
#define MATRIX22_STRASSEN_THRESHOLD 17
-#define HGCD_THRESHOLD 139
-#define GCD_DC_THRESHOLD 354
-#define GCDEXT_DC_THRESHOLD 496
+#define HGCD_THRESHOLD 135
+#define GCD_DC_THRESHOLD 330
+#define GCDEXT_DC_THRESHOLD 487
#define JACOBI_BASE_METHOD 1
#define MOD_1_NORM_THRESHOLD 0 /* always */
@@ -69,9 +69,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
#define GET_STR_DC_THRESHOLD 13
-#define GET_STR_PRECOMPUTE_THRESHOLD 23
-#define SET_STR_DC_THRESHOLD 632
-#define SET_STR_PRECOMPUTE_THRESHOLD 1939
+#define GET_STR_PRECOMPUTE_THRESHOLD 22
+#define SET_STR_DC_THRESHOLD 294
+#define SET_STR_PRECOMPUTE_THRESHOLD 1973
/* Generated 2009-01-12, gcc 4.2 */
diff --git a/mpn/x86_64/gmp-mparam.h b/mpn/x86_64/gmp-mparam.h
index 8d43a2403..6e6a9b26a 100644
--- a/mpn/x86_64/gmp-mparam.h
+++ b/mpn/x86_64/gmp-mparam.h
@@ -23,7 +23,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 2500 MHz Athlon64 / 512 Kibyte cache */
-/* Generated by tuneup.c, 2009-11-24, gcc 4.2 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.2 */
#define MUL_TOOM22_THRESHOLD 28
#define MUL_TOOM33_THRESHOLD 81
@@ -31,28 +31,28 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 40
-#define SQR_TOOM3_THRESHOLD 121
+#define SQR_TOOM3_THRESHOLD 77
#define SQR_TOOM4_THRESHOLD 532
-#define MUL_FFT_TABLE { 464, 1056, 1856, 3840, 11264, 36864, 114688, 327680, 0 }
+#define MUL_FFT_TABLE { 464, 1056, 1856, 3840, 11264, 36864, 114688, 458752, 0 }
#define MUL_FFT_MODF_THRESHOLD 688
#define MUL_FFT_THRESHOLD 7936
-#define SQR_FFT_TABLE { 496, 1120, 2368, 4352, 11264, 36864, 114688, 327680, 0 }
+#define SQR_FFT_TABLE { 496, 1120, 2240, 4352, 11264, 45056, 114688, 327680, 0 }
#define SQR_FFT_MODF_THRESHOLD 688
-#define SQR_FFT_THRESHOLD 4992
+#define SQR_FFT_THRESHOLD 6272
-#define MULLOW_BASECASE_THRESHOLD 20
+#define MULLOW_BASECASE_THRESHOLD 8
#define MULLOW_DC_THRESHOLD 0 /* never mpn_mullow_basecase */
#define MULLOW_MUL_N_THRESHOLD 15585
-#define MULMOD_BNM1_THRESHOLD 16
+#define MULMOD_BNM1_THRESHOLD 20
-#define DC_DIV_QR_THRESHOLD 40
+#define DC_DIV_QR_THRESHOLD 51
#define REDC_1_TO_REDC_2_THRESHOLD 34
-#define REDC_2_TO_REDC_N_THRESHOLD 162
+#define REDC_2_TO_REDC_N_THRESHOLD 107
-#define MATRIX22_STRASSEN_THRESHOLD 21
+#define MATRIX22_STRASSEN_THRESHOLD 33
#define HGCD_THRESHOLD 144
#define GCD_DC_THRESHOLD 501
#define GCDEXT_DC_THRESHOLD 693
@@ -60,18 +60,18 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
-#define MOD_1_1_THRESHOLD 5
-#define MOD_1_2_THRESHOLD 6
+#define MOD_1_1_THRESHOLD 4
+#define MOD_1_2_THRESHOLD 7
#define MOD_1_4_THRESHOLD 15
#define USE_PREINV_DIVREM_1 1 /* native */
#define USE_PREINV_MOD_1 0
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 18
-#define GET_STR_PRECOMPUTE_THRESHOLD 33
-#define SET_STR_DC_THRESHOLD 268
-#define SET_STR_PRECOMPUTE_THRESHOLD 2215
+#define GET_STR_DC_THRESHOLD 17
+#define GET_STR_PRECOMPUTE_THRESHOLD 32
+#define SET_STR_DC_THRESHOLD 266
+#define SET_STR_PRECOMPUTE_THRESHOLD 2105
/* These tables are older than the thresholds above. */
diff --git a/mpn/x86_64/nano/gmp-mparam.h b/mpn/x86_64/nano/gmp-mparam.h
index 374999649..ae4bf3232 100644
--- a/mpn/x86_64/nano/gmp-mparam.h
+++ b/mpn/x86_64/nano/gmp-mparam.h
@@ -23,38 +23,38 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
/* 1600 MHz Nano 2xxx */
-/* Generated by tuneup.c, 2009-11-27, gcc 4.3 */
+/* Generated by tuneup.c, 2009-11-29, gcc 4.3 */
-#define MUL_TOOM22_THRESHOLD 26
-#define MUL_TOOM33_THRESHOLD 41
-#define MUL_TOOM44_THRESHOLD 315
+#define MUL_TOOM22_THRESHOLD 27
+#define MUL_TOOM33_THRESHOLD 42
+#define MUL_TOOM44_THRESHOLD 330
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 38
-#define SQR_TOOM3_THRESHOLD 60
-#define SQR_TOOM4_THRESHOLD 522
+#define SQR_TOOM3_THRESHOLD 77
+#define SQR_TOOM4_THRESHOLD 608
-#define MUL_FFT_TABLE { 400, 928, 1856, 2816, 7168, 28672, 81920, 327680, 0 }
-#define MUL_FFT_MODF_THRESHOLD 496
+#define MUL_FFT_TABLE { 400, 800, 1856, 2816, 7168, 28672, 81920, 327680, 0 }
+#define MUL_FFT_MODF_THRESHOLD 528
#define MUL_FFT_THRESHOLD 5632
-#define SQR_FFT_TABLE { 400, 800, 1856, 3328, 7168, 20480, 81920, 327680, 0 }
+#define SQR_FFT_TABLE { 368, 800, 1856, 3328, 7168, 20480, 81920, 327680, 0 }
#define SQR_FFT_MODF_THRESHOLD 464
#define SQR_FFT_THRESHOLD 3456
-#define MULLOW_BASECASE_THRESHOLD 19
-#define MULLOW_DC_THRESHOLD 40
+#define MULLOW_BASECASE_THRESHOLD 21
+#define MULLOW_DC_THRESHOLD 0 /* never mpn_mullow_basecase */
#define MULLOW_MUL_N_THRESHOLD 11138
#define MULMOD_BNM1_THRESHOLD 16
#define DC_DIV_QR_THRESHOLD 47
-#define REDC_1_TO_REDC_2_THRESHOLD 17
-#define REDC_2_TO_REDC_N_THRESHOLD 139
+#define REDC_1_TO_REDC_2_THRESHOLD 16
+#define REDC_2_TO_REDC_N_THRESHOLD 89
#define MATRIX22_STRASSEN_THRESHOLD 17
-#define HGCD_THRESHOLD 116
-#define GCD_DC_THRESHOLD 474
+#define HGCD_THRESHOLD 100
+#define GCD_DC_THRESHOLD 465
#define GCDEXT_DC_THRESHOLD 693
#define JACOBI_BASE_METHOD 1
@@ -68,7 +68,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */
-#define GET_STR_DC_THRESHOLD 14
-#define GET_STR_PRECOMPUTE_THRESHOLD 22
+#define GET_STR_DC_THRESHOLD 12
+#define GET_STR_PRECOMPUTE_THRESHOLD 20
#define SET_STR_DC_THRESHOLD 686
#define SET_STR_PRECOMPUTE_THRESHOLD 1947