1*e3209ae7SThomas Veerman /* gmp-mparam.h -- Compiler/machine parameter header file. 2*e3209ae7SThomas Veerman 3*e3209ae7SThomas Veerman Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002 Free Software Foundation, 4*e3209ae7SThomas Veerman Inc. 5*e3209ae7SThomas Veerman 6*e3209ae7SThomas Veerman This file is part of the GNU MP Library. 7*e3209ae7SThomas Veerman 8*e3209ae7SThomas Veerman The GNU MP Library is free software; you can redistribute it and/or modify it 9*e3209ae7SThomas Veerman under the terms of the GNU Lesser General Public License as published by the 10*e3209ae7SThomas Veerman Free Software Foundation; either version 3 of the License, or (at your 11*e3209ae7SThomas Veerman option) any later version. 12*e3209ae7SThomas Veerman 13*e3209ae7SThomas Veerman The GNU MP Library is distributed in the hope that it will be useful, but 14*e3209ae7SThomas Veerman WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15*e3209ae7SThomas Veerman FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 16*e3209ae7SThomas Veerman for more details. 17*e3209ae7SThomas Veerman 18*e3209ae7SThomas Veerman You should have received a copy of the GNU Lesser General Public License along 19*e3209ae7SThomas Veerman with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ 20*e3209ae7SThomas Veerman 21*e3209ae7SThomas Veerman 22*e3209ae7SThomas Veerman #define GMP_LIMB_BITS 32 23*e3209ae7SThomas Veerman #define BYTES_PER_MP_LIMB 4 24*e3209ae7SThomas Veerman 25*e3209ae7SThomas Veerman 26*e3209ae7SThomas Veerman /* Generated by tuneup.c, 2002-02-20, gcc 2.95 (R3000) */ 27*e3209ae7SThomas Veerman 28*e3209ae7SThomas Veerman #define MUL_TOOM22_THRESHOLD 20 29*e3209ae7SThomas Veerman #define MUL_TOOM33_THRESHOLD 50 30*e3209ae7SThomas Veerman 31*e3209ae7SThomas Veerman #define SQR_BASECASE_THRESHOLD 7 32*e3209ae7SThomas Veerman #define SQR_TOOM2_THRESHOLD 57 33*e3209ae7SThomas Veerman #define SQR_TOOM3_THRESHOLD 78 34*e3209ae7SThomas Veerman 35*e3209ae7SThomas Veerman #define DIV_SB_PREINV_THRESHOLD 0 /* always */ 36*e3209ae7SThomas Veerman #define DIV_DC_THRESHOLD 57 37*e3209ae7SThomas Veerman #define POWM_THRESHOLD 78 38*e3209ae7SThomas Veerman 39*e3209ae7SThomas Veerman #define GCD_ACCEL_THRESHOLD 3 40*e3209ae7SThomas Veerman #define JACOBI_BASE_METHOD 2 41*e3209ae7SThomas Veerman 42*e3209ae7SThomas Veerman #define DIVREM_1_NORM_THRESHOLD 0 /* always */ 43*e3209ae7SThomas Veerman #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ 44*e3209ae7SThomas Veerman #define MOD_1_NORM_THRESHOLD 0 /* always */ 45*e3209ae7SThomas Veerman #define MOD_1_UNNORM_THRESHOLD 0 /* always */ 46*e3209ae7SThomas Veerman #define USE_PREINV_DIVREM_1 1 47*e3209ae7SThomas Veerman #define USE_PREINV_MOD_1 1 48*e3209ae7SThomas Veerman #define DIVREM_2_THRESHOLD 0 /* always */ 49*e3209ae7SThomas Veerman #define DIVEXACT_1_THRESHOLD 0 /* always */ 50*e3209ae7SThomas Veerman #define MODEXACT_1_ODD_THRESHOLD 0 /* always */ 51*e3209ae7SThomas Veerman 52*e3209ae7SThomas Veerman #define GET_STR_DC_THRESHOLD 19 53*e3209ae7SThomas Veerman #define GET_STR_PRECOMPUTE_THRESHOLD 25 54*e3209ae7SThomas Veerman #define SET_STR_THRESHOLD 309 55*e3209ae7SThomas Veerman 56*e3209ae7SThomas Veerman #define MUL_FFT_TABLE { 496, 1056, 2176, 5632, 14336, 40960, 0 } 57*e3209ae7SThomas Veerman #define MUL_FFT_MODF_THRESHOLD 624 58*e3209ae7SThomas Veerman #define MUL_FFT_THRESHOLD 5888 59*e3209ae7SThomas Veerman 60*e3209ae7SThomas Veerman #define SQR_FFT_TABLE { 496, 1184, 2176, 5632, 14336, 40960, 0 } 61*e3209ae7SThomas Veerman #define SQR_FFT_MODF_THRESHOLD 560 62*e3209ae7SThomas Veerman #define SQR_FFT_THRESHOLD 5376 63