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