1*7d829589Smrg /* PowerPC-64 gmp-mparam.h -- Compiler/machine parameter header file. 2988d036cSmrg 3*7d829589Smrg Copyright 2008, 2009 Free Software Foundation, Inc. 4988d036cSmrg 5988d036cSmrg This file is part of the GNU MP Library. 6988d036cSmrg 7988d036cSmrg The GNU MP Library is free software; you can redistribute it and/or modify 8*7d829589Smrg it under the terms of either: 9*7d829589Smrg 10*7d829589Smrg * the GNU Lesser General Public License as published by the Free 11*7d829589Smrg Software Foundation; either version 3 of the License, or (at your 12988d036cSmrg option) any later version. 13988d036cSmrg 14*7d829589Smrg or 15*7d829589Smrg 16*7d829589Smrg * the GNU General Public License as published by the Free Software 17*7d829589Smrg Foundation; either version 2 of the License, or (at your option) any 18*7d829589Smrg later version. 19*7d829589Smrg 20*7d829589Smrg or both in parallel, as here. 21*7d829589Smrg 22988d036cSmrg The GNU MP Library is distributed in the hope that it will be useful, but 23988d036cSmrg WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 24*7d829589Smrg or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 25*7d829589Smrg for more details. 26988d036cSmrg 27*7d829589Smrg You should have received copies of the GNU General Public License and the 28*7d829589Smrg GNU Lesser General Public License along with the GNU MP Library. If not, 29*7d829589Smrg see https://www.gnu.org/licenses/. */ 30988d036cSmrg 31*7d829589Smrg #define GMP_LIMB_BITS 64 32*7d829589Smrg #define GMP_LIMB_BYTES 8 33988d036cSmrg 34*7d829589Smrg /* 1600MHz PPC970 */ 35*7d829589Smrg 36*7d829589Smrg /* Generated by tuneup.c, 2009-01-14, gcc 4.0 */ 37*7d829589Smrg 38*7d829589Smrg #define MUL_TOOM22_THRESHOLD 14 39*7d829589Smrg #define MUL_TOOM33_THRESHOLD 93 40*7d829589Smrg #define MUL_TOOM44_THRESHOLD 135 41*7d829589Smrg 42*7d829589Smrg #define SQR_BASECASE_THRESHOLD 6 43*7d829589Smrg #define SQR_TOOM2_THRESHOLD 32 44*7d829589Smrg #define SQR_TOOM3_THRESHOLD 74 45*7d829589Smrg #define SQR_TOOM4_THRESHOLD 136 46*7d829589Smrg 47*7d829589Smrg #define MULLO_BASECASE_THRESHOLD 0 /* always */ 48*7d829589Smrg #define MULLO_DC_THRESHOLD 44 49*7d829589Smrg #define MULLO_MUL_N_THRESHOLD 234 50*7d829589Smrg 51*7d829589Smrg #define DIV_SB_PREINV_THRESHOLD 0 /* always */ 52*7d829589Smrg #define DIV_DC_THRESHOLD 33 53*7d829589Smrg #define POWM_THRESHOLD 89 54*7d829589Smrg 55*7d829589Smrg #define MATRIX22_STRASSEN_THRESHOLD 15 56*7d829589Smrg #define HGCD_THRESHOLD 93 57*7d829589Smrg #define GCD_DC_THRESHOLD 237 58*7d829589Smrg #define GCDEXT_DC_THRESHOLD 273 59*7d829589Smrg #define JACOBI_BASE_METHOD 1 60*7d829589Smrg 61*7d829589Smrg #define MOD_1_NORM_THRESHOLD 0 /* always */ 62*7d829589Smrg #define MOD_1_UNNORM_THRESHOLD 0 /* always */ 63*7d829589Smrg #define MOD_1_1_THRESHOLD 6 64*7d829589Smrg #define MOD_1_2_THRESHOLD 9 65*7d829589Smrg #define MOD_1_4_THRESHOLD 23 66*7d829589Smrg #define USE_PREINV_DIVREM_1 0 67*7d829589Smrg #define USE_PREINV_MOD_1 0 68*7d829589Smrg #define DIVEXACT_1_THRESHOLD 0 /* always (native) */ 69*7d829589Smrg #define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */ 70*7d829589Smrg 71*7d829589Smrg #define GET_STR_DC_THRESHOLD 12 72*7d829589Smrg #define GET_STR_PRECOMPUTE_THRESHOLD 24 73*7d829589Smrg #define SET_STR_DC_THRESHOLD 650 74*7d829589Smrg #define SET_STR_PRECOMPUTE_THRESHOLD 1713 75*7d829589Smrg 76*7d829589Smrg #define MUL_FFT_TABLE { 336, 672, 1856, 2816, 7168, 20480, 81920, 327680, 0 } 77*7d829589Smrg #define MUL_FFT_MODF_THRESHOLD 304 78*7d829589Smrg #define MUL_FFT_THRESHOLD 4224 79*7d829589Smrg 80*7d829589Smrg #define SQR_FFT_TABLE { 272, 672, 1600, 2816, 7168, 20480, 81920, 327680, 786432, 0 } 81*7d829589Smrg #define SQR_FFT_MODF_THRESHOLD 272 82*7d829589Smrg #define SQR_FFT_THRESHOLD 2688 83