| /* Intel P6/sse2 gmp-mparam.h -- Compiler/machine parameter header file. |
| |
| Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2008, 2009 |
| Free Software Foundation, Inc. |
| |
| This file is part of the GNU MP Library. |
| |
| The GNU MP Library is free software; you can redistribute it and/or modify |
| it under the terms of the GNU Lesser General Public License as published by |
| the Free Software Foundation; either version 3 of the License, or (at your |
| option) any later version. |
| |
| The GNU MP Library is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
| or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
| License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public License |
| along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ |
| |
| |
| #define BITS_PER_MP_LIMB 32 |
| #define BYTES_PER_MP_LIMB 4 |
| |
| |
| /* NOTE: In a fat binary build SQR_KARATSUBA_THRESHOLD here cannot be more |
| than the value in mpn/x86/p6/gmp-mparam.h. The latter is used as a hard |
| limit in mpn/x86/p6/sqr_basecase.asm. */ |
| |
| |
| /* 1867 MHz P6 model 13 */ |
| |
| /* Generated by tuneupc, 2008-10-30, gcc 4.3 */ |
| |
| #define MUL_KARATSUBA_THRESHOLD 20 |
| #define MUL_TOOM3_THRESHOLD 77 |
| #define MUL_TOOM44_THRESHOLD 142 |
| |
| #define SQR_BASECASE_THRESHOLD 0 /* always (native) */ |
| #define SQR_KARATSUBA_THRESHOLD 30 |
| #define SQR_TOOM3_THRESHOLD 101 |
| #define SQR_TOOM4_THRESHOLD 154 |
| |
| #define MULLOW_BASECASE_THRESHOLD 4 |
| #define MULLOW_DC_THRESHOLD 38 |
| #define MULLOW_MUL_N_THRESHOLD 234 |
| |
| #define DIV_SB_PREINV_THRESHOLD 0 /* always */ |
| #define DIV_DC_THRESHOLD 24 |
| #define POWM_THRESHOLD 150 |
| |
| #define MATRIX22_STRASSEN_THRESHOLD 23 |
| #define HGCD_THRESHOLD 95 |
| #define GCD_DC_THRESHOLD 381 |
| #define GCDEXT_DC_THRESHOLD 419 |
| #define JACOBI_BASE_METHOD 1 |
| |
| #define USE_PREINV_DIVREM_1 1 /* native */ |
| #define USE_PREINV_MOD_1 1 /* native */ |
| #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 |