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