1 /* Intel P6 gmp-mparam.h -- Compiler/machine parameter header file.
3 Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003 Free Software
6 This file is part of the GNU MP Library.
8 The GNU MP Library is free software; you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
13 The GNU MP Library is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 License for more details.
18 You should have received a copy of the GNU Lesser General Public License
19 along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
22 #define GMP_LIMB_BITS 32
23 #define BYTES_PER_MP_LIMB 4
26 /* NOTE: In a fat binary build SQR_TOOM2_THRESHOLD here cannot be smaller than
27 the value in mpn/x86/p6/mmx/gmp-mparam.h. The former is used as a hard
28 limit in mpn/x86/p6/sqr_basecase.asm, and that file will be run by the
29 p6/mmx cpus (pentium2, pentium3). */
32 /* 200MHz Pentium Pro */
34 /* Generated by tuneup.c, 2003-02-12, gcc 2.95 */
36 #define MUL_TOOM22_THRESHOLD 23
37 #define MUL_TOOM33_THRESHOLD 140
39 #define SQR_BASECASE_THRESHOLD 0 /* always */
40 #define SQR_TOOM2_THRESHOLD 52
41 #define SQR_TOOM3_THRESHOLD 189
43 #define DIV_SB_PREINV_THRESHOLD 0 /* always */
44 #define DIV_DC_THRESHOLD 116
45 #define POWM_THRESHOLD 131
47 #define GCD_ACCEL_THRESHOLD 3
48 #define JACOBI_BASE_METHOD 1
50 #define USE_PREINV_DIVREM_1 0
51 #define USE_PREINV_MOD_1 1 /* native */
52 #define DIVREM_2_THRESHOLD 0 /* always */
53 #define DIVEXACT_1_THRESHOLD 0 /* always */
54 #define MODEXACT_1_ODD_THRESHOLD 0 /* always */
56 #define GET_STR_DC_THRESHOLD 18
57 #define GET_STR_PRECOMPUTE_THRESHOLD 23
58 #define SET_STR_THRESHOLD 6093
60 #define MUL_FFT_TABLE { 464, 928, 1920, 3584, 10240, 40960, 0 }
61 #define MUL_FFT_MODF_THRESHOLD 360
62 #define MUL_FFT_THRESHOLD 2816
64 #define SQR_FFT_TABLE { 528, 1184, 1920, 4608, 14336, 40960, 0 }
65 #define SQR_FFT_MODF_THRESHOLD 440
66 #define SQR_FFT_THRESHOLD 2816