1 /* gmp-mparam.h -- Compiler/machine parameter header file.
2 
3 Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
4 Foundation, Inc.
5 
6 This file is part of the GNU MP Library.
7 
8 The GNU MP Library is free software; you can redistribute it and/or modify it
9 under the terms of the GNU Lesser General Public License as published by the
10 Free Software Foundation; either version 2.1 of the License, or (at your
11 option) any later version.
12 
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 or
15 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
16 for more details.
17 
18 You should have received a copy of the GNU Lesser General Public License along
19 with the GNU MP Library; see the file COPYING.LIB.  If not, write to the Free
20 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
21 USA. */
22 
23 
24 #define BITS_PER_MP_LIMB 64
25 #define BYTES_PER_MP_LIMB 8
26 
27 /*
28    SiCortex 72 core MIPS, CPU freq 499.71 MHz
29 */
30 
31 /* Generated by tuneup.c, 2008-09-15, gcc 4.1 */
32 
33 #define MUL_KARATSUBA_THRESHOLD          18
34 #define MUL_TOOM3_THRESHOLD              98
35 
36 #define SQR_BASECASE_THRESHOLD            6
37 #define SQR_KARATSUBA_THRESHOLD          36
38 #define SQR_TOOM3_THRESHOLD             113
39 
40 #define MULLOW_BASECASE_THRESHOLD         0  /* always */
41 #define MULLOW_DC_THRESHOLD              56
42 
43 #define POWM_THRESHOLD                   73
44 
45 #define GCDEXT_THRESHOLD                 34
46 #define JACOBI_BASE_METHOD                2
47 
48 #define MOD_1_NORM_THRESHOLD              0  /* always */
49 #define MOD_1_UNNORM_THRESHOLD            0  /* always */
50 #define USE_PREINV_DIVREM_1               0
51 #define USE_PREINV_MOD_1                  1
52 #define DIVREM_2_THRESHOLD                0  /* always */
53 #define DIVEXACT_1_THRESHOLD              0  /* always */
54 #define MODEXACT_1_ODD_THRESHOLD          0  /* always */
55 
56 #define GET_STR_DC_THRESHOLD             19
57 #define GET_STR_PRECOMPUTE_THRESHOLD     28
58 
59 #define MUL_FFT_FULL_THRESHOLD              1920
60 
61 #define SQR_FFT_FULL_THRESHOLD              1920
62 
63 /* fft_tuning -- autogenerated by tune-fft */
64 
65 #define FFT_TAB \
66    { { 4, 3 }, { 3, 2 }, { 2, 1 }, { 2, 1 }, { 1, 0 } }
67 
68 #define MULMOD_TAB \
69    { 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1 }
70 
71 #define FFT_N_NUM 15
72 
73 #define FFT_MULMOD_2EXPP1_CUTOFF 128
74 
75