xref: /minix3/external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp-mparam.h (revision e3209ae7661484355fce7e5f8f0090acb283ef74)
1*e3209ae7SThomas Veerman /* gmp-mparam.h -- Compiler/machine parameter header file.
2*e3209ae7SThomas Veerman 
3*e3209ae7SThomas Veerman Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4*e3209ae7SThomas Veerman 
5*e3209ae7SThomas Veerman This file is part of the GNU MP Library.
6*e3209ae7SThomas Veerman 
7*e3209ae7SThomas Veerman The GNU MP Library is free software; you can redistribute it and/or modify
8*e3209ae7SThomas Veerman it under the terms of the GNU Lesser General Public License as published by
9*e3209ae7SThomas Veerman the Free Software Foundation; either version 3 of the License, or (at your
10*e3209ae7SThomas Veerman option) any later version.
11*e3209ae7SThomas Veerman 
12*e3209ae7SThomas Veerman The GNU MP Library is distributed in the hope that it will be useful, but
13*e3209ae7SThomas Veerman WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14*e3209ae7SThomas Veerman or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15*e3209ae7SThomas Veerman License for more details.
16*e3209ae7SThomas Veerman 
17*e3209ae7SThomas Veerman You should have received a copy of the GNU Lesser General Public License
18*e3209ae7SThomas Veerman along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
19*e3209ae7SThomas Veerman 
20*e3209ae7SThomas Veerman 
21*e3209ae7SThomas Veerman #define GMP_LIMB_BITS 32
22*e3209ae7SThomas Veerman #define BYTES_PER_MP_LIMB 4
23*e3209ae7SThomas Veerman 
24*e3209ae7SThomas Veerman 
25*e3209ae7SThomas Veerman /* 25MHz 68040 */
26*e3209ae7SThomas Veerman 
27*e3209ae7SThomas Veerman /* Generated by tuneup.c, 2004-02-05, gcc 3.2 */
28*e3209ae7SThomas Veerman 
29*e3209ae7SThomas Veerman #define MUL_TOOM22_THRESHOLD             14
30*e3209ae7SThomas Veerman #define MUL_TOOM33_THRESHOLD             90
31*e3209ae7SThomas Veerman 
32*e3209ae7SThomas Veerman #define SQR_BASECASE_THRESHOLD            5
33*e3209ae7SThomas Veerman #define SQR_TOOM2_THRESHOLD              28
34*e3209ae7SThomas Veerman #define SQR_TOOM3_THRESHOLD              98
35*e3209ae7SThomas Veerman 
36*e3209ae7SThomas Veerman #define DIV_SB_PREINV_THRESHOLD       MP_SIZE_T_MAX  /* never */
37*e3209ae7SThomas Veerman #define DIV_DC_THRESHOLD                 55
38*e3209ae7SThomas Veerman #define POWM_THRESHOLD                   65
39*e3209ae7SThomas Veerman 
40*e3209ae7SThomas Veerman #define HGCD_THRESHOLD                  116
41*e3209ae7SThomas Veerman #define GCD_ACCEL_THRESHOLD               3
42*e3209ae7SThomas Veerman #define GCD_DC_THRESHOLD                590
43*e3209ae7SThomas Veerman #define JACOBI_BASE_METHOD                2
44*e3209ae7SThomas Veerman 
45*e3209ae7SThomas Veerman #define DIVREM_1_NORM_THRESHOLD       MP_SIZE_T_MAX  /* never */
46*e3209ae7SThomas Veerman #define DIVREM_1_UNNORM_THRESHOLD     MP_SIZE_T_MAX  /* never */
47*e3209ae7SThomas Veerman #define MOD_1_NORM_THRESHOLD          MP_SIZE_T_MAX  /* never */
48*e3209ae7SThomas Veerman #define MOD_1_UNNORM_THRESHOLD        MP_SIZE_T_MAX  /* never */
49*e3209ae7SThomas Veerman #define USE_PREINV_DIVREM_1               0
50*e3209ae7SThomas Veerman #define USE_PREINV_MOD_1                  0
51*e3209ae7SThomas Veerman #define DIVREM_2_THRESHOLD            MP_SIZE_T_MAX  /* never */
52*e3209ae7SThomas Veerman #define DIVEXACT_1_THRESHOLD          MP_SIZE_T_MAX  /* never */
53*e3209ae7SThomas Veerman #define MODEXACT_1_ODD_THRESHOLD      MP_SIZE_T_MAX  /* never */
54*e3209ae7SThomas Veerman 
55*e3209ae7SThomas Veerman #define GET_STR_DC_THRESHOLD             18
56*e3209ae7SThomas Veerman #define GET_STR_PRECOMPUTE_THRESHOLD     43
57*e3209ae7SThomas Veerman #define SET_STR_THRESHOLD               937
58*e3209ae7SThomas Veerman 
59*e3209ae7SThomas Veerman #define MUL_FFT_TABLE  { 336, 672, 1408, 3584, 10240, 24576, 0 }
60*e3209ae7SThomas Veerman #define MUL_FFT_MODF_THRESHOLD          296
61*e3209ae7SThomas Veerman #define MUL_FFT_THRESHOLD              1728
62*e3209ae7SThomas Veerman 
63*e3209ae7SThomas Veerman #define SQR_FFT_TABLE  { 336, 736, 1408, 3584, 10240, 24576, 0 }
64*e3209ae7SThomas Veerman #define SQR_FFT_MODF_THRESHOLD          296
65*e3209ae7SThomas Veerman #define SQR_FFT_THRESHOLD              2304
66