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