remove empty dir
[ghc-hetmet.git] / rts / gmp / mpn / x86 / k7 / gmp-mparam.h
1 /* AMD K7 gmp-mparam.h -- Compiler/machine parameter header file.
2
3 Copyright (C) 1991, 1993, 1994, 2000 Free Software Foundation, Inc.
4
5 This file is part of the GNU MP Library.
6
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.
11
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.
16
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. */
21
22 #define BITS_PER_MP_LIMB 32
23 #define BYTES_PER_MP_LIMB 4
24 #define BITS_PER_LONGINT 32
25 #define BITS_PER_INT 32
26 #define BITS_PER_SHORTINT 16
27 #define BITS_PER_CHAR 8
28
29
30 /* the low limb is ready after 4 cycles, but normally it's the high limb
31    which is of interest, and that comes out after 6 cycles */
32 #ifndef UMUL_TIME
33 #define UMUL_TIME   6  /* cycles */
34 #endif
35
36 /* AMD doco says 40, but it measures 39 back-to-back */
37 #ifndef UDIV_TIME
38 #define UDIV_TIME   39  /* cycles */
39 #endif
40
41 /* using bsf */
42 #ifndef COUNT_TRAILING_ZEROS_TIME
43 #define COUNT_TRAILING_ZEROS_TIME   7  /* cycles */
44 #endif
45
46
47 /* Generated by tuneup.c, 2000-07-06. */
48
49 #ifndef KARATSUBA_MUL_THRESHOLD
50 #define KARATSUBA_MUL_THRESHOLD   26
51 #endif
52 #ifndef TOOM3_MUL_THRESHOLD
53 #define TOOM3_MUL_THRESHOLD      177
54 #endif
55
56 #ifndef KARATSUBA_SQR_THRESHOLD
57 #define KARATSUBA_SQR_THRESHOLD   52
58 #endif
59 #ifndef TOOM3_SQR_THRESHOLD
60 #define TOOM3_SQR_THRESHOLD      173
61 #endif
62
63 #ifndef BZ_THRESHOLD
64 #define BZ_THRESHOLD              76
65 #endif
66
67 #ifndef FIB_THRESHOLD
68 #define FIB_THRESHOLD            114
69 #endif
70
71 #ifndef POWM_THRESHOLD
72 #define POWM_THRESHOLD            34
73 #endif
74
75 #ifndef GCD_ACCEL_THRESHOLD
76 #define GCD_ACCEL_THRESHOLD        5
77 #endif
78 #ifndef GCDEXT_THRESHOLD
79 #define GCDEXT_THRESHOLD          54
80 #endif
81
82 #ifndef FFT_MUL_TABLE
83 #define FFT_MUL_TABLE  { 720, 1440, 2944, 7680, 18432, 57344, 0 }
84 #endif
85 #ifndef FFT_MODF_MUL_THRESHOLD
86 #define FFT_MODF_MUL_THRESHOLD     736
87 #endif
88 #ifndef FFT_MUL_THRESHOLD
89 #define FFT_MUL_THRESHOLD         6912
90 #endif
91
92 #ifndef FFT_SQR_TABLE
93 #define FFT_SQR_TABLE  { 784, 1696, 3200, 7680, 18432, 57344, 0 }
94 #endif
95 #ifndef FFT_MODF_SQR_THRESHOLD
96 #define FFT_MODF_SQR_THRESHOLD     800
97 #endif
98 #ifndef FFT_SQR_THRESHOLD
99 #define FFT_SQR_THRESHOLD         8448
100 #endif