1 /* Intel P6 gmp-mparam.h -- Compiler/machine parameter header file.
3 Copyright (C) 1991, 1993, 1994, 1999, 2000 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
7 The GNU MP Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation; either version 2.1 of the License, or (at your
10 option) any later version.
12 The GNU MP Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 License for more details.
17 You should have received a copy of the GNU Lesser General Public License
18 along with the GNU MP Library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20 MA 02111-1307, USA. */
23 #define BITS_PER_MP_LIMB 32
24 #define BYTES_PER_MP_LIMB 4
25 #define BITS_PER_LONGINT 32
26 #define BITS_PER_INT 32
27 #define BITS_PER_SHORTINT 16
28 #define BITS_PER_CHAR 8
32 #define UMUL_TIME 5 /* cycles */
35 #define UDIV_TIME 39 /* cycles */
38 #ifndef COUNT_TRAILING_ZEROS_TIME
39 #define COUNT_TRAILING_ZEROS_TIME 2 /* cycles */
43 /* Generated by tuneup.c, 2000-07-06. */
45 #ifndef KARATSUBA_MUL_THRESHOLD
46 #define KARATSUBA_MUL_THRESHOLD 23
48 #ifndef TOOM3_MUL_THRESHOLD
49 #define TOOM3_MUL_THRESHOLD 139
52 #ifndef KARATSUBA_SQR_THRESHOLD
53 #define KARATSUBA_SQR_THRESHOLD 52
55 #ifndef TOOM3_SQR_THRESHOLD
56 #define TOOM3_SQR_THRESHOLD 166
60 #define BZ_THRESHOLD 116
64 #define FIB_THRESHOLD 66
67 #ifndef POWM_THRESHOLD
68 #define POWM_THRESHOLD 20
71 #ifndef GCD_ACCEL_THRESHOLD
72 #define GCD_ACCEL_THRESHOLD 4
74 #ifndef GCDEXT_THRESHOLD
75 #define GCDEXT_THRESHOLD 54
79 #define FFT_MUL_TABLE { 592, 1440, 2688, 5632, 14336, 40960, 0 }
81 #ifndef FFT_MODF_MUL_THRESHOLD
82 #define FFT_MODF_MUL_THRESHOLD 608
84 #ifndef FFT_MUL_THRESHOLD
85 #define FFT_MUL_THRESHOLD 5888
89 #define FFT_SQR_TABLE { 656, 1504, 2944, 6656, 18432, 57344, 0 }
91 #ifndef FFT_MODF_SQR_THRESHOLD
92 #define FFT_MODF_SQR_THRESHOLD 672
94 #ifndef FFT_SQR_THRESHOLD
95 #define FFT_SQR_THRESHOLD 5888