1/* Alpha EV4 gmp-mparam.h -- Compiler/machine parameter header file.
2
3Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2009
4Free Software Foundation, 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#define GMP_LIMB_BITS 64
22#define BYTES_PER_MP_LIMB 8
23
24
25/* 175MHz 21064 */
26
27/* Generated by tuneup.c, 2009-01-15, gcc 3.2 */
28
29#define MUL_TOOM22_THRESHOLD             12
30#define MUL_TOOM33_THRESHOLD             69
31#define MUL_TOOM44_THRESHOLD             88
32
33#define SQR_BASECASE_THRESHOLD            4
34#define SQR_TOOM2_THRESHOLD              20
35#define SQR_TOOM3_THRESHOLD              62
36#define SQR_TOOM4_THRESHOLD             155
37
38#define MULLO_BASECASE_THRESHOLD          0  /* always */
39#define MULLO_DC_THRESHOLD               40
40#define MULLO_MUL_N_THRESHOLD           202
41
42#define DIV_SB_PREINV_THRESHOLD           0  /* preinv always */
43#define DIV_DC_THRESHOLD                 38
44#define POWM_THRESHOLD                   60
45
46#define MATRIX22_STRASSEN_THRESHOLD      17
47#define HGCD_THRESHOLD                   80
48#define GCD_DC_THRESHOLD                237
49#define GCDEXT_DC_THRESHOLD             198
50#define JACOBI_BASE_METHOD                2
51
52#define DIVREM_1_NORM_THRESHOLD           0  /* preinv always */
53#define DIVREM_1_UNNORM_THRESHOLD         0  /* always */
54#define MOD_1_NORM_THRESHOLD              0  /* always */
55#define MOD_1_UNNORM_THRESHOLD            0  /* always */
56#define MOD_1_1_THRESHOLD                 2
57#define MOD_1_2_THRESHOLD                 9
58#define MOD_1_4_THRESHOLD                20
59#define USE_PREINV_DIVREM_1               1  /* preinv always */
60#define USE_PREINV_MOD_1                  1  /* preinv always */
61#define DIVEXACT_1_THRESHOLD              0  /* always */
62#define MODEXACT_1_ODD_THRESHOLD          0  /* always */
63
64#define GET_STR_DC_THRESHOLD             20
65#define GET_STR_PRECOMPUTE_THRESHOLD     37
66#define SET_STR_DC_THRESHOLD            746
67#define SET_STR_PRECOMPUTE_THRESHOLD   1332
68
69#define MUL_FFT_TABLE  { 240, 480, 1344, 2304, 5120, 20480, 49152, 0 }
70#define MUL_FFT_MODF_THRESHOLD          232
71#define MUL_FFT_THRESHOLD              1664
72
73#define SQR_FFT_TABLE  { 240, 480, 1216, 2304, 5120, 12288, 49152, 0 }
74#define SQR_FFT_MODF_THRESHOLD          232
75#define SQR_FFT_THRESHOLD              1408
76