1/* Intel P54 gmp-mparam.h -- Compiler/machine parameter header file.
2
3Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2004 Free Software
4Foundation, Inc.
5
6This file is part of the GNU MP Library.
7
8The GNU MP Library is free software; you can redistribute it and/or modify
9it under the terms of the GNU Lesser General Public License as published by
10the Free Software Foundation; either version 3 of the License, or (at your
11option) any later version.
12
13The GNU MP Library is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
16License for more details.
17
18You should have received a copy of the GNU Lesser General Public License
19along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
20
21
22#define GMP_LIMB_BITS 32
23#define BYTES_PER_MP_LIMB 4
24
25
26/* For mpn/x86/pentium/mod_1.asm */
27#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB
28
29
30/* 166MHz P54 */
31
32/* Generated by tuneup.c, 2004-02-10, gcc 2.95 */
33
34#define MUL_TOOM22_THRESHOLD             16
35#define MUL_TOOM33_THRESHOLD             90
36
37#define SQR_BASECASE_THRESHOLD            0  /* always */
38#define SQR_TOOM2_THRESHOLD              22
39#define SQR_TOOM3_THRESHOLD             122
40
41#define DIV_SB_PREINV_THRESHOLD       MP_SIZE_T_MAX  /* never */
42#define DIV_DC_THRESHOLD                 52
43#define POWM_THRESHOLD                   77
44
45#define HGCD_THRESHOLD                  121
46#define GCD_ACCEL_THRESHOLD               3
47#define GCD_DC_THRESHOLD                615
48#define JACOBI_BASE_METHOD                2
49
50#define USE_PREINV_DIVREM_1               0
51#define USE_PREINV_MOD_1                  1  /* native */
52#define DIVREM_2_THRESHOLD            MP_SIZE_T_MAX  /* never */
53#define DIVEXACT_1_THRESHOLD              0  /* always (native) */
54#define MODEXACT_1_ODD_THRESHOLD          0  /* always (native) */
55
56#define GET_STR_DC_THRESHOLD             23
57#define GET_STR_PRECOMPUTE_THRESHOLD     33
58#define SET_STR_THRESHOLD              2788
59
60#define MUL_FFT_TABLE  { 432, 928, 1664, 3584, 10240, 40960, 0 }
61#define MUL_FFT_MODF_THRESHOLD          448
62#define MUL_FFT_THRESHOLD              3328
63
64#define SQR_FFT_TABLE  { 496, 928, 1920, 4608, 10240, 40960, 0 }
65#define SQR_FFT_MODF_THRESHOLD          512
66#define SQR_FFT_THRESHOLD              3328
67