Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / contrib / mpfr / src / amd / amdfam10 / mparam.h
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2
3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4
5 This file is part of the GNU MPFR Library.
6
7 The GNU MPFR 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 3 of the License, or (at your
10 option) any later version.
11
12 The GNU MPFR 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 MPFR Library; see the file COPYING.LESSER.  If not, see
19 http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
20 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
21
22 /* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.6.1 */
23 /* contributed by Jim Cloos <cloos at jhcloos dot com> with GMP 5.0.2 on a
24    "2009 or 2010 vintage phenom-II", where __amd64, __amd64__,
25    __k8, __k8__, __x86_64 and __x86_64__ are also defined.
26 */
27
28
29 #define MPFR_MULHIGH_TAB  \
30  -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,9,10,11, \
31  12,12,12,14,14,14,16,16,18,18,19,20,18,22,20,20, \
32  20,20,20,20,22,22,22,24,28,28,28,28,28,28,32,32, \
33  30,32,32,32,32,32,32,38,38,38,38,40,40,40,40,40, \
34  40,40,44,44,48,48,44,46,48,48,56,56,56,56,56,56, \
35  56,56,56,60,64,60,64,64,64,64,64,64,64,64,64,64, \
36  60,64,64,72,64,64,72,72,64,64,64,72,80,72,80,76, \
37  76,80,76,80,80,80,80,76,80,79,80,80,80,80,80,80, \
38  81,80,86,93,90,87,93,93,93,93,92,93,93,92,93,92, \
39  93,93,93,93,102,105,105,104,105,105,105,105,105,105,111,116, \
40  111,110,111,117,117,111,114,116,117,117,117,117,117,116,116,117, \
41  116,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117, \
42  117,117,117,117,117,117,117,117,117,148,148,156,148,148,148,148, \
43  148,156,156,156,155,156,156,156,156,156,156,156,156,156,155,156, \
44  156,156,156,156,172,156,172,172,172,156,172,156,172,172,172,172, \
45  172,172,172,172,172,172,172,180,172,180,172,172,172,188,188,172, \
46  188,188,188,188,188,188,179,188,188,188,188,188,188,188,188,188, \
47  188,220,220,220,220,188,220,220,220,220,220,220,220,220,220,220, \
48  220,220,220,220,220,220,220,220,220,220,220,220,220,219,220,220, \
49  220,220,220,220,236,220,220,220,252,252,236,252,252,252,252,236, \
50  236,236,252,236,252,252,236,252,236,252,252,252,252,251,250,252, \
51  252,252,252,252,252,252,252,252,252,252,252,252,251,252,252,251, \
52  252,252,252,252,252,252,252,252,252,252,252,252,252,252,284,284, \
53  252,284,284,284,284,284,284,284,284,284,284,284,284,284,283,284, \
54  284,283,284,284,300,300,300,284,284,300,284,284,298,300,316,316, \
55  300,284,300,316,300,316,300,284,316,316,316,316,300,316,300,316, \
56  316,300,316,300,316,316,315,316,316,316,316,316,316,316,316,316, \
57  316,316,316,316,313,316,316,316,316,316,316,316,320,316,320,368, \
58  316,316,316,368,368,368,367,368,368,368,368,368,368,368,368,368, \
59  367,367,368,368,368,368,368,368,368,368,368,368,368,368,368,368, \
60  368,368,368,366,368,368,367,368,368,367,368,368,368,368,368,368, \
61  367,366,367,368,368,367,368,368,368,368,368,368,368,368,368,368, \
62  368,368,368,368,368,368,368,368,416,368,368,368,368,368,368,416, \
63  368,416,415,416,416,368,416,416,416,415,415,416,416,416,416,416, \
64  416,416,415,416,416,415,416,416,440,416,415,416,416,415,416,415, \
65  416,416,416,474,415,416,416,415,416,416,416,416,416,416,474,474, \
66  488,474,440,440,488,488,504,473,504,474,504,504,503,503,503,503, \
67  503,504,501,504,504,503,474,474,503,504,504,503,504,488,488,488, \
68  503,503,504,504,504,504,504,504,501,503,504,503,504,504,499,504, \
69  504,503,504,504,504,504,503,504,504,504,488,504,504,504,474,504, \
70  501,504,504,501,504,503,504,504,504,504,504,504,504,504,503,504, \
71  504,503,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
72  504,504,504,504,504,504,503,568,568,568,504,504,504,504,568,504, \
73  568,567,568,568,568,568,567,568,567,568,567,600,568,600,568,568, \
74  568,568,568,567,568,568,568,568,568,568,568,568,568,568,568,568, \
75  568,568,568,568,568,568,568,567,568,568,568,568,568,568,568,568, \
76  568,568,568,632,600,568,568,568,565,568,568,568,632,568,568,600, \
77  600,631,600,632,600,632,632,600,600,632,600,600,632,600,600,600, \
78  632,616,600,632,600,632,632,600,600,600,600,600,600,632,600,632, \
79  632,616,632,632,632,616,632,632,632,627,631,629,632,632,631,632, \
80  632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
81  632,632,632,632,687,629,688,632,632,632,632,632,632,632,632,632, \
82  688,712,632,688,712,688,712,712,688,688,688,711,712,712,680,736, \
83  712,712,712,688,688,712,712,712,712,712,712,728,712,736,736,711, \
84  733,736,735,711,728,728,736,728,712,736,736,710,734,736,736,712, \
85  712,736,712,712,719,728,712,712,712,734,733,726,736,736,736,735, \
86  736,736,736,712,736,736,736,736,736,736,727,736,736,736,735,736, \
87  731,736,736,736,736,736,736,736,733,712,736,736,736,736,736,712, \
88  712,736,736,784,712,712,736,725,760,760,736,727,736,830,736,784, \
89  728,736,727,783,832,736,734,830,736,736,831,736,736,830,829,832, \
90  832,832,831,736,782,784,832,828,736,824,736,832,832,831,736,824, \
91  824,832,832,832,832,832,832,825,832,832,832,824,832,832,832,828, \
92  822,824,831,829,832,827,832,832,832,831,832,829,829,832,824,832, \
93  830,832,832,832,832,832,830,832,832,832,832,828,855,832,830,830 \
94   
95 #define MPFR_SQRHIGH_TAB  \
96  -1,0,0,0,-1,-1,-1,-1,-1,-1,7,8,9,8,9,9, \
97  11,11,11,13,13,14,15,16,17,17,19,19,16,19,17,19, \
98  19,18,19,19,21,21,21,23,23,25,25,23,25,25,25,25, \
99  28,27,27,29,29,28,31,31,34,34,34,34,38,36,38,38, \
100  42,42,42,42,42,42,44,46,42,46,44,50,46,50,42,50, \
101  44,44,46,50,50,50,50,50,50,50,50,50,50,50,50,50, \
102  52,50,54,54,54,54,56,56,56,56,58,56,56,58,58,60, \
103  60,62,62,67,62,68,72,68,68,72,68,76,72,72,72,76, \
104  76,76,76,76,84,72,84,76,76,76,84,76,76,84,84,84, \
105  92,84,84,84,84,84,92,92,92,92,92,92,92,92,92,100, \
106  92,92,100,100,92,100,100,100,100,100,100,92,100,100,92,100, \
107  100,100,92,92,100,92,100,104,100,108,100,100,100,108,104,100, \
108  100,104,100,108,108,108,112,108,112,112,112,123,112,123,112,135, \
109  116,123,123,135,123,135,135,135,135,135,135,135,135,135,135,135, \
110  135,135,147,135,135,135,135,147,147,147,147,147,147,147,147,147, \
111  147,147,147,147,147,147,147,147,147,147,147,159,147,147,147,147, \
112  165,147,147,159,153,147,147,147,165,159,147,147,165,153,147,159, \
113  165,165,165,165,165,171,171,159,165,159,165,165,165,165,165,165, \
114  171,165,171,171,165,177,171,171,189,183,171,165,165,165,183,165, \
115  165,165,183,183,186,189,165,189,165,171,165,165,189,165,183,183, \
116  183,189,183,201,201,189,189,183,189,183,195,189,189,189,183,213, \
117  183,183,195,195,213,189,189,189,201,201,189,195,213,225,225,201, \
118  201,213,213,195,213,201,225,225,225,225,225,224,225,225,213,225, \
119  225,225,225,225,225,225,225,225,225,225,225,225,225,225,249,225, \
120  249,249,248,225,249,249,249,249,249,249,225,249,249,248,249,249, \
121  249,249,249,248,249,249,249,249,249,249,249,249,249,249,249,249, \
122  249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, \
123  273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273, \
124  273,273,273,273,273,273,273,273,273,273,297,297,297,297,297,296, \
125  297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, \
126  297,297,297,297,297,297,297,297,297,273,273,273,273,273,273,296, \
127  273,309,297,321,321,297,297,297,297,297,297,296,297,297,297,296, \
128  297,296,297,297,297,297,297,297,297,297,297,297,297,297,309,297, \
129  297,297,309,297,297,297,297,297,297,297,321,297,321,333,297,366, \
130  333,333,333,366,333,296,333,333,333,297,333,333,333,297,297,321, \
131  321,345,402,345,402,402,402,402,402,402,402,402,402,402,402,402, \
132  401,401,402,402,402,402,402,402,402,402,402,402,401,402,402,401, \
133  402,402,402,402,401,402,402,402,402,402,401,402,402,401,401,402, \
134  401,401,393,402,402,438,401,402,402,401,401,402,401,402,402,402, \
135  402,401,402,402,402,402,402,402,402,402,402,401,402,401,402,401, \
136  402,402,400,402,402,402,402,402,402,402,438,438,438,438,438,438, \
137  438,438,402,438,402,402,402,402,438,438,402,438,401,402,438,438, \
138  438,438,438,438,438,438,401,437,438,402,401,402,438,401,402,402, \
139  402,402,402,402,401,437,438,438,438,437,438,438,401,402,402,438, \
140  438,438,402,402,402,402,401,402,402,437,438,438,438,438,438,438, \
141  438,438,438,438,437,437,438,438,438,438,438,438,438,437,437,438, \
142  437,438,438,438,438,402,438,402,438,438,438,438,438,438,437,438, \
143  456,438,438,438,438,437,438,438,438,438,437,438,438,438,437,438, \
144  438,438,438,473,437,456,438,438,438,438,438,437,438,438,438,438, \
145  438,438,437,438,438,438,438,438,456,474,455,456,456,474,473,492, \
146  456,474,456,474,474,474,474,474,536,512,474,512,474,536,474,474, \
147  536,474,536,536,474,474,536,536,536,536,536,536,536,536,536,536, \
148  536,534,536,536,536,535,536,536,536,536,535,536,536,536,536,536, \
149  536,535,536,535,536,536,512,536,536,536,536,536,536,535,536,534, \
150  535,584,536,536,536,534,535,536,536,536,536,536,536,536,536,534, \
151  536,536,536,536,535,536,584,535,536,584,536,536,536,536,584,584, \
152  584,584,536,584,584,584,584,584,584,584,583,584,582,584,584,584, \
153  584,584,584,584,584,582,583,584,584,584,584,584,584,584,584,584, \
154  584,583,584,584,696,584,584,583,584,584,696,726,696,584,584,584, \
155  728,696,696,696,584,728,696,584,696,696,694,696,696,696,727,584, \
156  695,694,584,696,696,695,728,696,696,696,696,696,694,696,727,695, \
157  696,695,695,696,696,728,696,696,695,696,696,696,696,696,696,696, \
158  727,696,696,696,696,695,696,728,727,696,695,727,696,726,727,726, \
159  727,728,728,727,694,727,728,728,728,727,727,728,727,728,727,728 \
160   
161 #define MPFR_DIVHIGH_TAB  \
162  0,1,2,3,4,5,6,7,8,9,10,11,10,13,14,15, \
163  14,15,18,19,18,14,15,18,18,18,19,17,18,19,18,19, \
164  22,21,23,21,22,22,23,25,26,27,26,27,27,27,30,30, \
165  30,34,30,34,32,33,34,31,30,34,37,34,38,38,38,38, \
166  38,38,42,43,42,42,39,38,42,44,43,42,40,45,46,46, \
167  46,45,46,43,44,50,48,48,48,46,53,51,50,50,50,50, \
168  53,51,53,53,53,53,55,55,55,55,55,55,60,64,60,60, \
169  62,63,64,65,60,64,68,72,64,68,68,64,64,68,72,66, \
170  67,69,71,72,76,80,71,72,76,74,74,76,76,77,76,80, \
171  79,84,84,84,78,84,88,88,92,84,80,92,92,80,88,84, \
172  92,88,91,92,92,92,93,95,92,90,92,92,92,92,92,96, \
173  96,96,92,92,92,92,96,96,102,96,95,110,96,96,100,100, \
174  112,100,100,106,106,110,112,110,110,111,110,120,110,110,112,120, \
175  110,120,120,120,112,120,128,128,128,128,124,128,128,120,128,128, \
176  127,128,124,128,128,128,128,126,128,128,128,128,136,140,128,128, \
177  128,128,136,144,128,128,144,144,128,144,144,144,144,128,152,152, \
178  152,152,152,160,160,152,144,144,152,151,144,143,152,144,144,152, \
179  152,144,152,152,152,152,151,152,160,158,144,160,160,160,160,160, \
180  152,160,152,152,152,160,152,160,160,156,158,160,160,160,160,160, \
181  160,160,160,160,168,160,160,160,160,160,159,160,160,160,176,176, \
182  180,176,176,184,184,186,184,184,184,184,186,184,186,172,176,192, \
183  184,184,184,184,185,176,176,185,184,185,186,183,184,184,181,191, \
184  192,184,184,185,192,192,192,186,192,192,192,192,192,191,196,192, \
185  192,192,192,192,196,190,192,192,200,192,198,220,222,204,200,222, \
186  220,220,222,222,224,222,222,219,222,222,224,224,220,222,220,224, \
187  220,221,222,220,232,222,221,232,222,220,224,232,220,232,222,232, \
188  224,220,220,222,222,222,221,222,220,220,222,222,224,224,224,222, \
189  220,224,224,232,224,222,222,232,224,222,223,224,224,224,231,232, \
190  256,232,231,232,239,232,239,234,238,238,239,232,239,232,256,256, \
191  288,288,248,256,256,256,256,256,256,239,255,256,256,256,256,256, \
192  256,256,256,256,256,256,296,256,254,256,256,272,272,272,256,256, \
193  288,272,256,256,280,296,288,280,288,288,296,280,288,288,288,294, \
194  296,296,294,304,288,287,288,296,304,304,288,303,304,296,288,312, \
195  312,312,312,288,288,312,288,288,312,320,305,288,320,320,288,312, \
196  311,312,312,312,304,304,312,304,319,296,288,310,312,288,288,320, \
197  304,304,304,288,300,312,309,304,304,311,288,296,296,320,312,311, \
198  296,320,312,304,304,312,312,320,296,320,312,296,305,312,304,303, \
199  304,312,303,312,304,311,312,312,320,312,311,320,320,320,320,320, \
200  312,320,312,312,312,320,312,312,320,320,319,320,320,320,320,320, \
201  320,320,320,320,320,320,320,320,320,320,320,320,320,320,352,336, \
202  344,352,352,344,360,360,343,336,352,366,370,352,360,368,376,360, \
203  360,360,367,368,360,352,371,360,368,368,372,352,352,352,352,352, \
204  384,370,360,368,384,372,375,360,368,368,368,368,368,368,384,372, \
205  352,372,352,368,366,376,352,367,384,368,360,368,360,384,371,376, \
206  360,366,368,368,360,369,371,367,368,369,384,376,368,372,372,384, \
207  440,368,376,384,372,376,440,440,376,440,368,369,384,370,440,440, \
208  440,392,440,440,384,384,440,440,448,440,440,440,440,440,440,440, \
209  440,440,384,440,439,440,384,384,440,440,440,440,440,440,439,448, \
210  440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440, \
211  440,440,440,440,440,440,439,440,440,440,440,440,440,440,440,440, \
212  440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,480, \
213  440,440,440,440,468,480,440,440,440,440,440,464,440,440,440,440, \
214  480,440,440,440,440,448,439,440,440,440,440,440,440,448,440,448, \
215  512,439,440,448,440,440,440,438,440,440,440,440,496,440,465,440, \
216  440,466,440,440,440,440,512,440,440,440,440,464,440,440,448,466, \
217  512,496,512,512,512,448,512,447,448,468,472,448,480,464,480,512, \
218  466,466,496,468,512,468,496,480,512,512,496,467,472,512,512,512, \
219  512,468,512,512,512,512,512,478,512,472,512,512,512,496,512,512, \
220  512,512,512,512,496,480,496,496,512,512,512,496,480,512,544,480, \
221  576,512,512,576,512,512,512,576,512,512,496,496,512,480,576,576, \
222  512,510,496,568,576,576,496,560,576,511,512,576,576,512,512,576, \
223  560,496,576,512,512,512,512,512,512,576,576,512,512,576,512,512, \
224  512,512,576,512,512,512,508,512,576,512,576,576,512,576,592,512, \
225  568,512,576,568,576,576,576,512,576,576,592,576,592,512,608,576 \
226   
227 #define MPFR_MUL_THRESHOLD 17 /* limbs */
228 #define MPFR_SQR_THRESHOLD 19 /* limbs */
229 #define MPFR_DIV_THRESHOLD 28 /* limbs */
230 #define MPFR_EXP_2_THRESHOLD 1031 /* bits */
231 #define MPFR_EXP_THRESHOLD 10625 /* bits */
232 #define MPFR_SINCOS_THRESHOLD 26682 /* bits */
233 #define MPFR_AI_THRESHOLD1 -11328 /* threshold for negative input of mpfr_ai */
234 #define MPFR_AI_THRESHOLD2 1045
235 #define MPFR_AI_THRESHOLD3 17871
236 /* Tuneup completed successfully, took 562 seconds */