demux_mkv: fix relative seeks without index
[mplayer/glamo.git] / mp3lib / dct64_mmx.c
blobf70562ba3297a2d94dfcdc88aaa2f69c52bb729c
1 /*
2 * This code was taken from http://www.mpg123.org
3 * See ChangeLog of mpg123-0.59s-pre.1 for detail
4 * Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
5 */
6 #include "config.h"
7 #include "mangle.h"
8 #include "mpg123.h"
9 #include "ffmpeg_files/x86_cpu.h"
11 void dct64_MMX(short *a,short *b,real *c)
13 char tmp[256];
14 __asm__ volatile(
15 " mov %2,%%"REG_a"\n\t"
16 /* Phase 1*/
17 " flds (%%"REG_a")\n\t"
18 " lea 128+%3,%%"REG_d"\n\t"
19 " fadds 124(%%"REG_a")\n\t"
20 " mov %0,%%"REG_S"\n\t"
21 " fstps (%%"REG_d")\n\t"
22 " mov %1,%%"REG_D"\n\t"
24 " flds 4(%%"REG_a")\n\t"
25 " mov $"MANGLE(costab_mmx)",%%"REG_b"\n\t"
26 " fadds 120(%%"REG_a")\n\t"
27 " or %%"REG_c",%%"REG_c"\n\t"
28 " fstps 4(%%"REG_d")\n\t"
30 " flds (%%"REG_a")\n\t"
31 " lea %3,%%"REG_c"\n\t"
32 " fsubs 124(%%"REG_a")\n\t"
33 " fmuls (%%"REG_b")\n\t"
34 " fstps 124(%%"REG_d")\n\t"
36 " flds 4(%%"REG_a")\n\t"
37 " fsubs 120(%%"REG_a")\n\t"
38 " fmuls 4(%%"REG_b")\n\t"
39 " fstps 120(%%"REG_d")\n\t"
41 " flds 8(%%"REG_a")\n\t"
42 " fadds 116(%%"REG_a")\n\t"
43 " fstps 8(%%"REG_d")\n\t"
45 " flds 12(%%"REG_a")\n\t"
46 " fadds 112(%%"REG_a")\n\t"
47 " fstps 12(%%"REG_d")\n\t"
49 " flds 8(%%"REG_a")\n\t"
50 " fsubs 116(%%"REG_a")\n\t"
51 " fmuls 8(%%"REG_b")\n\t"
52 " fstps 116(%%"REG_d")\n\t"
54 " flds 12(%%"REG_a")\n\t"
55 " fsubs 112(%%"REG_a")\n\t"
56 " fmuls 12(%%"REG_b")\n\t"
57 " fstps 112(%%"REG_d")\n\t"
59 " flds 16(%%"REG_a")\n\t"
60 " fadds 108(%%"REG_a")\n\t"
61 " fstps 16(%%"REG_d")\n\t"
63 " flds 20(%%"REG_a")\n\t"
64 " fadds 104(%%"REG_a")\n\t"
65 " fstps 20(%%"REG_d")\n\t"
67 " flds 16(%%"REG_a")\n\t"
68 " fsubs 108(%%"REG_a")\n\t"
69 " fmuls 16(%%"REG_b")\n\t"
70 " fstps 108(%%"REG_d")\n\t"
72 " flds 20(%%"REG_a")\n\t"
73 " fsubs 104(%%"REG_a")\n\t"
74 " fmuls 20(%%"REG_b")\n\t"
75 " fstps 104(%%"REG_d")\n\t"
77 " flds 24(%%"REG_a")\n\t"
78 " fadds 100(%%"REG_a")\n\t"
79 " fstps 24(%%"REG_d")\n\t"
81 " flds 28(%%"REG_a")\n\t"
82 " fadds 96(%%"REG_a")\n\t"
83 " fstps 28(%%"REG_d")\n\t"
85 " flds 24(%%"REG_a")\n\t"
86 " fsubs 100(%%"REG_a")\n\t"
87 " fmuls 24(%%"REG_b")\n\t"
88 " fstps 100(%%"REG_d")\n\t"
90 " flds 28(%%"REG_a")\n\t"
91 " fsubs 96(%%"REG_a")\n\t"
92 " fmuls 28(%%"REG_b")\n\t"
93 " fstps 96(%%"REG_d")\n\t"
95 " flds 32(%%"REG_a")\n\t"
96 " fadds 92(%%"REG_a")\n\t"
97 " fstps 32(%%"REG_d")\n\t"
99 " flds 36(%%"REG_a")\n\t"
100 " fadds 88(%%"REG_a")\n\t"
101 " fstps 36(%%"REG_d")\n\t"
103 " flds 32(%%"REG_a")\n\t"
104 " fsubs 92(%%"REG_a")\n\t"
105 " fmuls 32(%%"REG_b")\n\t"
106 " fstps 92(%%"REG_d")\n\t"
108 " flds 36(%%"REG_a")\n\t"
109 " fsubs 88(%%"REG_a")\n\t"
110 " fmuls 36(%%"REG_b")\n\t"
111 " fstps 88(%%"REG_d")\n\t"
113 " flds 40(%%"REG_a")\n\t"
114 " fadds 84(%%"REG_a")\n\t"
115 " fstps 40(%%"REG_d")\n\t"
117 " flds 44(%%"REG_a")\n\t"
118 " fadds 80(%%"REG_a")\n\t"
119 " fstps 44(%%"REG_d")\n\t"
121 " flds 40(%%"REG_a")\n\t"
122 " fsubs 84(%%"REG_a")\n\t"
123 " fmuls 40(%%"REG_b")\n\t"
124 " fstps 84(%%"REG_d")\n\t"
126 " flds 44(%%"REG_a")\n\t"
127 " fsubs 80(%%"REG_a")\n\t"
128 " fmuls 44(%%"REG_b")\n\t"
129 " fstps 80(%%"REG_d")\n\t"
131 " flds 48(%%"REG_a")\n\t"
132 " fadds 76(%%"REG_a")\n\t"
133 " fstps 48(%%"REG_d")\n\t"
135 " flds 52(%%"REG_a")\n\t"
136 " fadds 72(%%"REG_a")\n\t"
137 " fstps 52(%%"REG_d")\n\t"
139 " flds 48(%%"REG_a")\n\t"
140 " fsubs 76(%%"REG_a")\n\t"
141 " fmuls 48(%%"REG_b")\n\t"
142 " fstps 76(%%"REG_d")\n\t"
144 " flds 52(%%"REG_a")\n\t"
145 " fsubs 72(%%"REG_a")\n\t"
146 " fmuls 52(%%"REG_b")\n\t"
147 " fstps 72(%%"REG_d")\n\t"
149 " flds 56(%%"REG_a")\n\t"
150 " fadds 68(%%"REG_a")\n\t"
151 " fstps 56(%%"REG_d")\n\t"
153 " flds 60(%%"REG_a")\n\t"
154 " fadds 64(%%"REG_a")\n\t"
155 " fstps 60(%%"REG_d")\n\t"
157 " flds 56(%%"REG_a")\n\t"
158 " fsubs 68(%%"REG_a")\n\t"
159 " fmuls 56(%%"REG_b")\n\t"
160 " fstps 68(%%"REG_d")\n\t"
162 " flds 60(%%"REG_a")\n\t"
163 " fsubs 64(%%"REG_a")\n\t"
164 " fmuls 60(%%"REG_b")\n\t"
165 " fstps 64(%%"REG_d")\n\t"
167 /* Phase 2*/
169 " flds (%%"REG_d")\n\t"
170 " fadds 60(%%"REG_d")\n\t"
171 " fstps (%%"REG_c")\n\t"
173 " flds 4(%%"REG_d")\n\t"
174 " fadds 56(%%"REG_d")\n\t"
175 " fstps 4(%%"REG_c")\n\t"
177 " flds (%%"REG_d")\n\t"
178 " fsubs 60(%%"REG_d")\n\t"
179 " fmuls 64(%%"REG_b")\n\t"
180 " fstps 60(%%"REG_c")\n\t"
182 " flds 4(%%"REG_d")\n\t"
183 " fsubs 56(%%"REG_d")\n\t"
184 " fmuls 68(%%"REG_b")\n\t"
185 " fstps 56(%%"REG_c")\n\t"
187 " flds 8(%%"REG_d")\n\t"
188 " fadds 52(%%"REG_d")\n\t"
189 " fstps 8(%%"REG_c")\n\t"
191 " flds 12(%%"REG_d")\n\t"
192 " fadds 48(%%"REG_d")\n\t"
193 " fstps 12(%%"REG_c")\n\t"
195 " flds 8(%%"REG_d")\n\t"
196 " fsubs 52(%%"REG_d")\n\t"
197 " fmuls 72(%%"REG_b")\n\t"
198 " fstps 52(%%"REG_c")\n\t"
200 " flds 12(%%"REG_d")\n\t"
201 " fsubs 48(%%"REG_d")\n\t"
202 " fmuls 76(%%"REG_b")\n\t"
203 " fstps 48(%%"REG_c")\n\t"
205 " flds 16(%%"REG_d")\n\t"
206 " fadds 44(%%"REG_d")\n\t"
207 " fstps 16(%%"REG_c")\n\t"
209 " flds 20(%%"REG_d")\n\t"
210 " fadds 40(%%"REG_d")\n\t"
211 " fstps 20(%%"REG_c")\n\t"
213 " flds 16(%%"REG_d")\n\t"
214 " fsubs 44(%%"REG_d")\n\t"
215 " fmuls 80(%%"REG_b")\n\t"
216 " fstps 44(%%"REG_c")\n\t"
218 " flds 20(%%"REG_d")\n\t"
219 " fsubs 40(%%"REG_d")\n\t"
220 " fmuls 84(%%"REG_b")\n\t"
221 " fstps 40(%%"REG_c")\n\t"
223 " flds 24(%%"REG_d")\n\t"
224 " fadds 36(%%"REG_d")\n\t"
225 " fstps 24(%%"REG_c")\n\t"
227 " flds 28(%%"REG_d")\n\t"
228 " fadds 32(%%"REG_d")\n\t"
229 " fstps 28(%%"REG_c")\n\t"
231 " flds 24(%%"REG_d")\n\t"
232 " fsubs 36(%%"REG_d")\n\t"
233 " fmuls 88(%%"REG_b")\n\t"
234 " fstps 36(%%"REG_c")\n\t"
236 " flds 28(%%"REG_d")\n\t"
237 " fsubs 32(%%"REG_d")\n\t"
238 " fmuls 92(%%"REG_b")\n\t"
239 " fstps 32(%%"REG_c")\n\t"
241 /* Phase 3*/
243 " flds 64(%%"REG_d")\n\t"
244 " fadds 124(%%"REG_d")\n\t"
245 " fstps 64(%%"REG_c")\n\t"
247 " flds 68(%%"REG_d")\n\t"
248 " fadds 120(%%"REG_d")\n\t"
249 " fstps 68(%%"REG_c")\n\t"
251 " flds 124(%%"REG_d")\n\t"
252 " fsubs 64(%%"REG_d")\n\t"
253 " fmuls 64(%%"REG_b")\n\t"
254 " fstps 124(%%"REG_c")\n\t"
256 " flds 120(%%"REG_d")\n\t"
257 " fsubs 68(%%"REG_d")\n\t"
258 " fmuls 68(%%"REG_b")\n\t"
259 " fstps 120(%%"REG_c")\n\t"
261 " flds 72(%%"REG_d")\n\t"
262 " fadds 116(%%"REG_d")\n\t"
263 " fstps 72(%%"REG_c")\n\t"
265 " flds 76(%%"REG_d")\n\t"
266 " fadds 112(%%"REG_d")\n\t"
267 " fstps 76(%%"REG_c")\n\t"
269 " flds 116(%%"REG_d")\n\t"
270 " fsubs 72(%%"REG_d")\n\t"
271 " fmuls 72(%%"REG_b")\n\t"
272 " fstps 116(%%"REG_c")\n\t"
274 " flds 112(%%"REG_d")\n\t"
275 " fsubs 76(%%"REG_d")\n\t"
276 " fmuls 76(%%"REG_b")\n\t"
277 " fstps 112(%%"REG_c")\n\t"
279 " flds 80(%%"REG_d")\n\t"
280 " fadds 108(%%"REG_d")\n\t"
281 " fstps 80(%%"REG_c")\n\t"
283 " flds 84(%%"REG_d")\n\t"
284 " fadds 104(%%"REG_d")\n\t"
285 " fstps 84(%%"REG_c")\n\t"
287 " flds 108(%%"REG_d")\n\t"
288 " fsubs 80(%%"REG_d")\n\t"
289 " fmuls 80(%%"REG_b")\n\t"
290 " fstps 108(%%"REG_c")\n\t"
292 " flds 104(%%"REG_d")\n\t"
293 " fsubs 84(%%"REG_d")\n\t"
294 " fmuls 84(%%"REG_b")\n\t"
295 " fstps 104(%%"REG_c")\n\t"
297 " flds 88(%%"REG_d")\n\t"
298 " fadds 100(%%"REG_d")\n\t"
299 " fstps 88(%%"REG_c")\n\t"
301 " flds 92(%%"REG_d")\n\t"
302 " fadds 96(%%"REG_d")\n\t"
303 " fstps 92(%%"REG_c")\n\t"
305 " flds 100(%%"REG_d")\n\t"
306 " fsubs 88(%%"REG_d")\n\t"
307 " fmuls 88(%%"REG_b")\n\t"
308 " fstps 100(%%"REG_c")\n\t"
310 " flds 96(%%"REG_d")\n\t"
311 " fsubs 92(%%"REG_d")\n\t"
312 " fmuls 92(%%"REG_b")\n\t"
313 " fstps 96(%%"REG_c")\n\t"
315 /* Phase 4*/
317 " flds (%%"REG_c")\n\t"
318 " fadds 28(%%"REG_c")\n\t"
319 " fstps (%%"REG_d")\n\t"
321 " flds (%%"REG_c")\n\t"
322 " fsubs 28(%%"REG_c")\n\t"
323 " fmuls 96(%%"REG_b")\n\t"
324 " fstps 28(%%"REG_d")\n\t"
326 " flds 4(%%"REG_c")\n\t"
327 " fadds 24(%%"REG_c")\n\t"
328 " fstps 4(%%"REG_d")\n\t"
330 " flds 4(%%"REG_c")\n\t"
331 " fsubs 24(%%"REG_c")\n\t"
332 " fmuls 100(%%"REG_b")\n\t"
333 " fstps 24(%%"REG_d")\n\t"
335 " flds 8(%%"REG_c")\n\t"
336 " fadds 20(%%"REG_c")\n\t"
337 " fstps 8(%%"REG_d")\n\t"
339 " flds 8(%%"REG_c")\n\t"
340 " fsubs 20(%%"REG_c")\n\t"
341 " fmuls 104(%%"REG_b")\n\t"
342 " fstps 20(%%"REG_d")\n\t"
344 " flds 12(%%"REG_c")\n\t"
345 " fadds 16(%%"REG_c")\n\t"
346 " fstps 12(%%"REG_d")\n\t"
348 " flds 12(%%"REG_c")\n\t"
349 " fsubs 16(%%"REG_c")\n\t"
350 " fmuls 108(%%"REG_b")\n\t"
351 " fstps 16(%%"REG_d")\n\t"
353 " flds 32(%%"REG_c")\n\t"
354 " fadds 60(%%"REG_c")\n\t"
355 " fstps 32(%%"REG_d")\n\t"
357 " flds 60(%%"REG_c")\n\t"
358 " fsubs 32(%%"REG_c")\n\t"
359 " fmuls 96(%%"REG_b")\n\t"
360 " fstps 60(%%"REG_d")\n\t"
362 " flds 36(%%"REG_c")\n\t"
363 " fadds 56(%%"REG_c")\n\t"
364 " fstps 36(%%"REG_d")\n\t"
366 " flds 56(%%"REG_c")\n\t"
367 " fsubs 36(%%"REG_c")\n\t"
368 " fmuls 100(%%"REG_b")\n\t"
369 " fstps 56(%%"REG_d")\n\t"
371 " flds 40(%%"REG_c")\n\t"
372 " fadds 52(%%"REG_c")\n\t"
373 " fstps 40(%%"REG_d")\n\t"
375 " flds 52(%%"REG_c")\n\t"
376 " fsubs 40(%%"REG_c")\n\t"
377 " fmuls 104(%%"REG_b")\n\t"
378 " fstps 52(%%"REG_d")\n\t"
380 " flds 44(%%"REG_c")\n\t"
381 " fadds 48(%%"REG_c")\n\t"
382 " fstps 44(%%"REG_d")\n\t"
384 " flds 48(%%"REG_c")\n\t"
385 " fsubs 44(%%"REG_c")\n\t"
386 " fmuls 108(%%"REG_b")\n\t"
387 " fstps 48(%%"REG_d")\n\t"
389 " flds 64(%%"REG_c")\n\t"
390 " fadds 92(%%"REG_c")\n\t"
391 " fstps 64(%%"REG_d")\n\t"
393 " flds 64(%%"REG_c")\n\t"
394 " fsubs 92(%%"REG_c")\n\t"
395 " fmuls 96(%%"REG_b")\n\t"
396 " fstps 92(%%"REG_d")\n\t"
398 " flds 68(%%"REG_c")\n\t"
399 " fadds 88(%%"REG_c")\n\t"
400 " fstps 68(%%"REG_d")\n\t"
402 " flds 68(%%"REG_c")\n\t"
403 " fsubs 88(%%"REG_c")\n\t"
404 " fmuls 100(%%"REG_b")\n\t"
405 " fstps 88(%%"REG_d")\n\t"
407 " flds 72(%%"REG_c")\n\t"
408 " fadds 84(%%"REG_c")\n\t"
409 " fstps 72(%%"REG_d")\n\t"
411 " flds 72(%%"REG_c")\n\t"
412 " fsubs 84(%%"REG_c")\n\t"
413 " fmuls 104(%%"REG_b")\n\t"
414 " fstps 84(%%"REG_d")\n\t"
416 " flds 76(%%"REG_c")\n\t"
417 " fadds 80(%%"REG_c")\n\t"
418 " fstps 76(%%"REG_d")\n\t"
420 " flds 76(%%"REG_c")\n\t"
421 " fsubs 80(%%"REG_c")\n\t"
422 " fmuls 108(%%"REG_b")\n\t"
423 " fstps 80(%%"REG_d")\n\t"
425 " flds 96(%%"REG_c")\n\t"
426 " fadds 124(%%"REG_c")\n\t"
427 " fstps 96(%%"REG_d")\n\t"
429 " flds 124(%%"REG_c")\n\t"
430 " fsubs 96(%%"REG_c")\n\t"
431 " fmuls 96(%%"REG_b")\n\t"
432 " fstps 124(%%"REG_d")\n\t"
434 " flds 100(%%"REG_c")\n\t"
435 " fadds 120(%%"REG_c")\n\t"
436 " fstps 100(%%"REG_d")\n\t"
438 " flds 120(%%"REG_c")\n\t"
439 " fsubs 100(%%"REG_c")\n\t"
440 " fmuls 100(%%"REG_b")\n\t"
441 " fstps 120(%%"REG_d")\n\t"
443 " flds 104(%%"REG_c")\n\t"
444 " fadds 116(%%"REG_c")\n\t"
445 " fstps 104(%%"REG_d")\n\t"
447 " flds 116(%%"REG_c")\n\t"
448 " fsubs 104(%%"REG_c")\n\t"
449 " fmuls 104(%%"REG_b")\n\t"
450 " fstps 116(%%"REG_d")\n\t"
452 " flds 108(%%"REG_c")\n\t"
453 " fadds 112(%%"REG_c")\n\t"
454 " fstps 108(%%"REG_d")\n\t"
456 " flds 112(%%"REG_c")\n\t"
457 " fsubs 108(%%"REG_c")\n\t"
458 " fmuls 108(%%"REG_b")\n\t"
459 " fstps 112(%%"REG_d")\n\t"
461 " flds (%%"REG_d")\n\t"
462 " fadds 12(%%"REG_d")\n\t"
463 " fstps (%%"REG_c")\n\t"
465 " flds (%%"REG_d")\n\t"
466 " fsubs 12(%%"REG_d")\n\t"
467 " fmuls 112(%%"REG_b")\n\t"
468 " fstps 12(%%"REG_c")\n\t"
470 " flds 4(%%"REG_d")\n\t"
471 " fadds 8(%%"REG_d")\n\t"
472 " fstps 4(%%"REG_c")\n\t"
474 " flds 4(%%"REG_d")\n\t"
475 " fsubs 8(%%"REG_d")\n\t"
476 " fmuls 116(%%"REG_b")\n\t"
477 " fstps 8(%%"REG_c")\n\t"
479 " flds 16(%%"REG_d")\n\t"
480 " fadds 28(%%"REG_d")\n\t"
481 " fstps 16(%%"REG_c")\n\t"
483 " flds 28(%%"REG_d")\n\t"
484 " fsubs 16(%%"REG_d")\n\t"
485 " fmuls 112(%%"REG_b")\n\t"
486 " fstps 28(%%"REG_c")\n\t"
488 " flds 20(%%"REG_d")\n\t"
489 " fadds 24(%%"REG_d")\n\t"
490 " fstps 20(%%"REG_c")\n\t"
492 " flds 24(%%"REG_d")\n\t"
493 " fsubs 20(%%"REG_d")\n\t"
494 " fmuls 116(%%"REG_b")\n\t"
495 " fstps 24(%%"REG_c")\n\t"
497 " flds 32(%%"REG_d")\n\t"
498 " fadds 44(%%"REG_d")\n\t"
499 " fstps 32(%%"REG_c")\n\t"
501 " flds 32(%%"REG_d")\n\t"
502 " fsubs 44(%%"REG_d")\n\t"
503 " fmuls 112(%%"REG_b")\n\t"
504 " fstps 44(%%"REG_c")\n\t"
506 " flds 36(%%"REG_d")\n\t"
507 " fadds 40(%%"REG_d")\n\t"
508 " fstps 36(%%"REG_c")\n\t"
510 " flds 36(%%"REG_d")\n\t"
511 " fsubs 40(%%"REG_d")\n\t"
512 " fmuls 116(%%"REG_b")\n\t"
513 " fstps 40(%%"REG_c")\n\t"
515 " flds 48(%%"REG_d")\n\t"
516 " fadds 60(%%"REG_d")\n\t"
517 " fstps 48(%%"REG_c")\n\t"
519 " flds 60(%%"REG_d")\n\t"
520 " fsubs 48(%%"REG_d")\n\t"
521 " fmuls 112(%%"REG_b")\n\t"
522 " fstps 60(%%"REG_c")\n\t"
524 " flds 52(%%"REG_d")\n\t"
525 " fadds 56(%%"REG_d")\n\t"
526 " fstps 52(%%"REG_c")\n\t"
528 " flds 56(%%"REG_d")\n\t"
529 " fsubs 52(%%"REG_d")\n\t"
530 " fmuls 116(%%"REG_b")\n\t"
531 " fstps 56(%%"REG_c")\n\t"
533 " flds 64(%%"REG_d")\n\t"
534 " fadds 76(%%"REG_d")\n\t"
535 " fstps 64(%%"REG_c")\n\t"
537 " flds 64(%%"REG_d")\n\t"
538 " fsubs 76(%%"REG_d")\n\t"
539 " fmuls 112(%%"REG_b")\n\t"
540 " fstps 76(%%"REG_c")\n\t"
542 " flds 68(%%"REG_d")\n\t"
543 " fadds 72(%%"REG_d")\n\t"
544 " fstps 68(%%"REG_c")\n\t"
546 " flds 68(%%"REG_d")\n\t"
547 " fsubs 72(%%"REG_d")\n\t"
548 " fmuls 116(%%"REG_b")\n\t"
549 " fstps 72(%%"REG_c")\n\t"
551 " flds 80(%%"REG_d")\n\t"
552 " fadds 92(%%"REG_d")\n\t"
553 " fstps 80(%%"REG_c")\n\t"
555 " flds 92(%%"REG_d")\n\t"
556 " fsubs 80(%%"REG_d")\n\t"
557 " fmuls 112(%%"REG_b")\n\t"
558 " fstps 92(%%"REG_c")\n\t"
560 " flds 84(%%"REG_d")\n\t"
561 " fadds 88(%%"REG_d")\n\t"
562 " fstps 84(%%"REG_c")\n\t"
564 " flds 88(%%"REG_d")\n\t"
565 " fsubs 84(%%"REG_d")\n\t"
566 " fmuls 116(%%"REG_b")\n\t"
567 " fstps 88(%%"REG_c")\n\t"
569 " flds 96(%%"REG_d")\n\t"
570 " fadds 108(%%"REG_d")\n\t"
571 " fstps 96(%%"REG_c")\n\t"
573 " flds 96(%%"REG_d")\n\t"
574 " fsubs 108(%%"REG_d")\n\t"
575 " fmuls 112(%%"REG_b")\n\t"
576 " fstps 108(%%"REG_c")\n\t"
578 " flds 100(%%"REG_d")\n\t"
579 " fadds 104(%%"REG_d")\n\t"
580 " fstps 100(%%"REG_c")\n\t"
582 " flds 100(%%"REG_d")\n\t"
583 " fsubs 104(%%"REG_d")\n\t"
584 " fmuls 116(%%"REG_b")\n\t"
585 " fstps 104(%%"REG_c")\n\t"
587 " flds 112(%%"REG_d")\n\t"
588 " fadds 124(%%"REG_d")\n\t"
589 " fstps 112(%%"REG_c")\n\t"
591 " flds 124(%%"REG_d")\n\t"
592 " fsubs 112(%%"REG_d")\n\t"
593 " fmuls 112(%%"REG_b")\n\t"
594 " fstps 124(%%"REG_c")\n\t"
596 " flds 116(%%"REG_d")\n\t"
597 " fadds 120(%%"REG_d")\n\t"
598 " fstps 116(%%"REG_c")\n\t"
600 " flds 120(%%"REG_d")\n\t"
601 " fsubs 116(%%"REG_d")\n\t"
602 " fmuls 116(%%"REG_b")\n\t"
603 " fstps 120(%%"REG_c")\n\t"
605 /* Phase 5*/
607 " flds 32(%%"REG_c")\n\t"
608 " fadds 36(%%"REG_c")\n\t"
609 " fstps 32(%%"REG_d")\n\t"
611 " flds 32(%%"REG_c")\n\t"
612 " fsubs 36(%%"REG_c")\n\t"
613 " fmuls 120(%%"REG_b")\n\t"
614 " fstps 36(%%"REG_d")\n\t"
616 " flds 44(%%"REG_c")\n\t"
617 " fsubs 40(%%"REG_c")\n\t"
618 " fmuls 120(%%"REG_b")\n\t"
619 " fsts 44(%%"REG_d")\n\t"
620 " fadds 40(%%"REG_c")\n\t"
621 " fadds 44(%%"REG_c")\n\t"
622 " fstps 40(%%"REG_d")\n\t"
624 " flds 48(%%"REG_c")\n\t"
625 " fsubs 52(%%"REG_c")\n\t"
626 " fmuls 120(%%"REG_b")\n\t"
628 " flds 60(%%"REG_c")\n\t"
629 " fsubs 56(%%"REG_c")\n\t"
630 " fmuls 120(%%"REG_b")\n\t"
631 " fld %%st(0)\n\t"
632 " fadds 56(%%"REG_c")\n\t"
633 " fadds 60(%%"REG_c")\n\t"
634 " fld %%st(0)\n\t"
635 " fadds 48(%%"REG_c")\n\t"
636 " fadds 52(%%"REG_c")\n\t"
637 " fstps 48(%%"REG_d")\n\t"
638 " fadd %%st(2)\n\t"
639 " fstps 56(%%"REG_d")\n\t"
640 " fsts 60(%%"REG_d")\n\t"
641 " faddp %%st(1)\n\t"
642 " fstps 52(%%"REG_d")\n\t"
644 " flds 64(%%"REG_c")\n\t"
645 " fadds 68(%%"REG_c")\n\t"
646 " fstps 64(%%"REG_d")\n\t"
648 " flds 64(%%"REG_c")\n\t"
649 " fsubs 68(%%"REG_c")\n\t"
650 " fmuls 120(%%"REG_b")\n\t"
651 " fstps 68(%%"REG_d")\n\t"
653 " flds 76(%%"REG_c")\n\t"
654 " fsubs 72(%%"REG_c")\n\t"
655 " fmuls 120(%%"REG_b")\n\t"
656 " fsts 76(%%"REG_d")\n\t"
657 " fadds 72(%%"REG_c")\n\t"
658 " fadds 76(%%"REG_c")\n\t"
659 " fstps 72(%%"REG_d")\n\t"
661 " flds 92(%%"REG_c")\n\t"
662 " fsubs 88(%%"REG_c")\n\t"
663 " fmuls 120(%%"REG_b")\n\t"
664 " fsts 92(%%"REG_d")\n\t"
665 " fadds 92(%%"REG_c")\n\t"
666 " fadds 88(%%"REG_c")\n\t"
667 " fld %%st(0)\n\t"
668 " fadds 80(%%"REG_c")\n\t"
669 " fadds 84(%%"REG_c")\n\t"
670 " fstps 80(%%"REG_d")\n\t"
672 " flds 80(%%"REG_c")\n\t"
673 " fsubs 84(%%"REG_c")\n\t"
674 " fmuls 120(%%"REG_b")\n\t"
675 " fadd %%st(0), %%st(1)\n\t"
676 " fadds 92(%%"REG_d")\n\t"
677 " fstps 84(%%"REG_d")\n\t"
678 " fstps 88(%%"REG_d")\n\t"
680 " flds 96(%%"REG_c")\n\t"
681 " fadds 100(%%"REG_c")\n\t"
682 " fstps 96(%%"REG_d")\n\t"
684 " flds 96(%%"REG_c")\n\t"
685 " fsubs 100(%%"REG_c")\n\t"
686 " fmuls 120(%%"REG_b")\n\t"
687 " fstps 100(%%"REG_d")\n\t"
689 " flds 108(%%"REG_c")\n\t"
690 " fsubs 104(%%"REG_c")\n\t"
691 " fmuls 120(%%"REG_b")\n\t"
692 " fsts 108(%%"REG_d")\n\t"
693 " fadds 104(%%"REG_c")\n\t"
694 " fadds 108(%%"REG_c")\n\t"
695 " fstps 104(%%"REG_d")\n\t"
697 " flds 124(%%"REG_c")\n\t"
698 " fsubs 120(%%"REG_c")\n\t"
699 " fmuls 120(%%"REG_b")\n\t"
700 " fsts 124(%%"REG_d")\n\t"
701 " fadds 120(%%"REG_c")\n\t"
702 " fadds 124(%%"REG_c")\n\t"
703 " fld %%st(0)\n\t"
704 " fadds 112(%%"REG_c")\n\t"
705 " fadds 116(%%"REG_c")\n\t"
706 " fstps 112(%%"REG_d")\n\t"
708 " flds 112(%%"REG_c")\n\t"
709 " fsubs 116(%%"REG_c")\n\t"
710 " fmuls 120(%%"REG_b")\n\t"
711 " fadd %%st(0),%%st(1)\n\t"
712 " fadds 124(%%"REG_d")\n\t"
713 " fstps 116(%%"REG_d")\n\t"
714 " fstps 120(%%"REG_d")\n\t"
715 " jnz .L01\n\t"
717 /* Phase 6*/
719 " flds (%%"REG_c")\n\t"
720 " fadds 4(%%"REG_c")\n\t"
721 " fstps 1024(%%"REG_S")\n\t"
723 " flds (%%"REG_c")\n\t"
724 " fsubs 4(%%"REG_c")\n\t"
725 " fmuls 120(%%"REG_b")\n\t"
726 " fsts (%%"REG_S")\n\t"
727 " fstps (%%"REG_D")\n\t"
729 " flds 12(%%"REG_c")\n\t"
730 " fsubs 8(%%"REG_c")\n\t"
731 " fmuls 120(%%"REG_b")\n\t"
732 " fsts 512(%%"REG_D")\n\t"
733 " fadds 12(%%"REG_c")\n\t"
734 " fadds 8(%%"REG_c")\n\t"
735 " fstps 512(%%"REG_S")\n\t"
737 " flds 16(%%"REG_c")\n\t"
738 " fsubs 20(%%"REG_c")\n\t"
739 " fmuls 120(%%"REG_b")\n\t"
741 " flds 28(%%"REG_c")\n\t"
742 " fsubs 24(%%"REG_c")\n\t"
743 " fmuls 120(%%"REG_b")\n\t"
744 " fsts 768(%%"REG_D")\n\t"
745 " fld %%st(0)\n\t"
746 " fadds 24(%%"REG_c")\n\t"
747 " fadds 28(%%"REG_c")\n\t"
748 " fld %%st(0)\n\t"
749 " fadds 16(%%"REG_c")\n\t"
750 " fadds 20(%%"REG_c")\n\t"
751 " fstps 768(%%"REG_S")\n\t"
752 " fadd %%st(2)\n\t"
753 " fstps 256(%%"REG_S")\n\t"
754 " faddp %%st(1)\n\t"
755 " fstps 256(%%"REG_D")\n\t"
757 /* Phase 7*/
759 " flds 32(%%"REG_d")\n\t"
760 " fadds 48(%%"REG_d")\n\t"
761 " fstps 896(%%"REG_S")\n\t"
763 " flds 48(%%"REG_d")\n\t"
764 " fadds 40(%%"REG_d")\n\t"
765 " fstps 640(%%"REG_S")\n\t"
767 " flds 40(%%"REG_d")\n\t"
768 " fadds 56(%%"REG_d")\n\t"
769 " fstps 384(%%"REG_S")\n\t"
771 " flds 56(%%"REG_d")\n\t"
772 " fadds 36(%%"REG_d")\n\t"
773 " fstps 128(%%"REG_S")\n\t"
775 " flds 36(%%"REG_d")\n\t"
776 " fadds 52(%%"REG_d")\n\t"
777 " fstps 128(%%"REG_D")\n\t"
779 " flds 52(%%"REG_d")\n\t"
780 " fadds 44(%%"REG_d")\n\t"
781 " fstps 384(%%"REG_D")\n\t"
783 " flds 60(%%"REG_d")\n\t"
784 " fsts 896(%%"REG_D")\n\t"
785 " fadds 44(%%"REG_d")\n\t"
786 " fstps 640(%%"REG_D")\n\t"
788 " flds 96(%%"REG_d")\n\t"
789 " fadds 112(%%"REG_d")\n\t"
790 " fld %%st(0)\n\t"
791 " fadds 64(%%"REG_d")\n\t"
792 " fstps 960(%%"REG_S")\n\t"
793 " fadds 80(%%"REG_d")\n\t"
794 " fstps 832(%%"REG_S")\n\t"
796 " flds 112(%%"REG_d")\n\t"
797 " fadds 104(%%"REG_d")\n\t"
798 " fld %%st(0)\n\t"
799 " fadds 80(%%"REG_d")\n\t"
800 " fstps 704(%%"REG_S")\n\t"
801 " fadds 72(%%"REG_d")\n\t"
802 " fstps 576(%%"REG_S")\n\t"
804 " flds 104(%%"REG_d")\n\t"
805 " fadds 120(%%"REG_d")\n\t"
806 " fld %%st(0)\n\t"
807 " fadds 72(%%"REG_d")\n\t"
808 " fstps 448(%%"REG_S")\n\t"
809 " fadds 88(%%"REG_d")\n\t"
810 " fstps 320(%%"REG_S")\n\t"
812 " flds 120(%%"REG_d")\n\t"
813 " fadds 100(%%"REG_d")\n\t"
814 " fld %%st(0)\n\t"
815 " fadds 88(%%"REG_d")\n\t"
816 " fstps 192(%%"REG_S")\n\t"
817 " fadds 68(%%"REG_d")\n\t"
818 " fstps 64(%%"REG_S")\n\t"
820 " flds 100(%%"REG_d")\n\t"
821 " fadds 116(%%"REG_d")\n\t"
822 " fld %%st(0)\n\t"
823 " fadds 68(%%"REG_d")\n\t"
824 " fstps 64(%%"REG_D")\n\t"
825 " fadds 84(%%"REG_d")\n\t"
826 " fstps 192(%%"REG_D")\n\t"
828 " flds 116(%%"REG_d")\n\t"
829 " fadds 108(%%"REG_d")\n\t"
830 " fld %%st(0)\n\t"
831 " fadds 84(%%"REG_d")\n\t"
832 " fstps 320(%%"REG_D")\n\t"
833 " fadds 76(%%"REG_d")\n\t"
834 " fstps 448(%%"REG_D")\n\t"
836 " flds 108(%%"REG_d")\n\t"
837 " fadds 124(%%"REG_d")\n\t"
838 " fld %%st(0)\n\t"
839 " fadds 76(%%"REG_d")\n\t"
840 " fstps 576(%%"REG_D")\n\t"
841 " fadds 92(%%"REG_d")\n\t"
842 " fstps 704(%%"REG_D")\n\t"
844 " flds 124(%%"REG_d")\n\t"
845 " fsts 960(%%"REG_D")\n\t"
846 " fadds 92(%%"REG_d")\n\t"
847 " fstps 832(%%"REG_D")\n\t"
848 " jmp .L_bye\n\t"
849 ".L01:\n\t"
850 /* Phase 8*/
852 " flds (%%"REG_c")\n\t"
853 " fadds 4(%%"REG_c")\n\t"
854 " fistp 512(%%"REG_S")\n\t"
856 " flds (%%"REG_c")\n\t"
857 " fsubs 4(%%"REG_c")\n\t"
858 " fmuls 120(%%"REG_b")\n\t"
860 " fistp (%%"REG_S")\n\t"
863 " flds 12(%%"REG_c")\n\t"
864 " fsubs 8(%%"REG_c")\n\t"
865 " fmuls 120(%%"REG_b")\n\t"
866 " fist 256(%%"REG_D")\n\t"
867 " fadds 12(%%"REG_c")\n\t"
868 " fadds 8(%%"REG_c")\n\t"
869 " fistp 256(%%"REG_S")\n\t"
871 " flds 16(%%"REG_c")\n\t"
872 " fsubs 20(%%"REG_c")\n\t"
873 " fmuls 120(%%"REG_b")\n\t"
875 " flds 28(%%"REG_c")\n\t"
876 " fsubs 24(%%"REG_c")\n\t"
877 " fmuls 120(%%"REG_b")\n\t"
878 " fist 384(%%"REG_D")\n\t"
879 " fld %%st(0)\n\t"
880 " fadds 24(%%"REG_c")\n\t"
881 " fadds 28(%%"REG_c")\n\t"
882 " fld %%st(0)\n\t"
883 " fadds 16(%%"REG_c")\n\t"
884 " fadds 20(%%"REG_c")\n\t"
885 " fistp 384(%%"REG_S")\n\t"
886 " fadd %%st(2)\n\t"
887 " fistp 128(%%"REG_S")\n\t"
888 " faddp %%st(1)\n\t"
889 " fistp 128(%%"REG_D")\n\t"
891 /* Phase 9*/
893 " flds 32(%%"REG_d")\n\t"
894 " fadds 48(%%"REG_d")\n\t"
895 " fistp 448(%%"REG_S")\n\t"
897 " flds 48(%%"REG_d")\n\t"
898 " fadds 40(%%"REG_d")\n\t"
899 " fistp 320(%%"REG_S")\n\t"
901 " flds 40(%%"REG_d")\n\t"
902 " fadds 56(%%"REG_d")\n\t"
903 " fistp 192(%%"REG_S")\n\t"
905 " flds 56(%%"REG_d")\n\t"
906 " fadds 36(%%"REG_d")\n\t"
907 " fistp 64(%%"REG_S")\n\t"
909 " flds 36(%%"REG_d")\n\t"
910 " fadds 52(%%"REG_d")\n\t"
911 " fistp 64(%%"REG_D")\n\t"
913 " flds 52(%%"REG_d")\n\t"
914 " fadds 44(%%"REG_d")\n\t"
915 " fistp 192(%%"REG_D")\n\t"
917 " flds 60(%%"REG_d")\n\t"
918 " fist 448(%%"REG_D")\n\t"
919 " fadds 44(%%"REG_d")\n\t"
920 " fistp 320(%%"REG_D")\n\t"
922 " flds 96(%%"REG_d")\n\t"
923 " fadds 112(%%"REG_d")\n\t"
924 " fld %%st(0)\n\t"
925 " fadds 64(%%"REG_d")\n\t"
926 " fistp 480(%%"REG_S")\n\t"
927 " fadds 80(%%"REG_d")\n\t"
928 " fistp 416(%%"REG_S")\n\t"
930 " flds 112(%%"REG_d")\n\t"
931 " fadds 104(%%"REG_d")\n\t"
932 " fld %%st(0)\n\t"
933 " fadds 80(%%"REG_d")\n\t"
934 " fistp 352(%%"REG_S")\n\t"
935 " fadds 72(%%"REG_d")\n\t"
936 " fistp 288(%%"REG_S")\n\t"
938 " flds 104(%%"REG_d")\n\t"
939 " fadds 120(%%"REG_d")\n\t"
940 " fld %%st(0)\n\t"
941 " fadds 72(%%"REG_d")\n\t"
942 " fistp 224(%%"REG_S")\n\t"
943 " fadds 88(%%"REG_d")\n\t"
944 " fistp 160(%%"REG_S")\n\t"
946 " flds 120(%%"REG_d")\n\t"
947 " fadds 100(%%"REG_d")\n\t"
948 " fld %%st(0)\n\t"
949 " fadds 88(%%"REG_d")\n\t"
950 " fistp 96(%%"REG_S")\n\t"
951 " fadds 68(%%"REG_d")\n\t"
952 " fistp 32(%%"REG_S")\n\t"
954 " flds 100(%%"REG_d")\n\t"
955 " fadds 116(%%"REG_d")\n\t"
956 " fld %%st(0)\n\t"
957 " fadds 68(%%"REG_d")\n\t"
958 " fistp 32(%%"REG_D")\n\t"
959 " fadds 84(%%"REG_d")\n\t"
960 " fistp 96(%%"REG_D")\n\t"
962 " flds 116(%%"REG_d")\n\t"
963 " fadds 108(%%"REG_d")\n\t"
964 " fld %%st(0)\n\t"
965 " fadds 84(%%"REG_d")\n\t"
966 " fistp 160(%%"REG_D")\n\t"
967 " fadds 76(%%"REG_d")\n\t"
968 " fistp 224(%%"REG_D")\n\t"
970 " flds 108(%%"REG_d")\n\t"
971 " fadds 124(%%"REG_d")\n\t"
972 " fld %%st(0)\n\t"
973 " fadds 76(%%"REG_d")\n\t"
974 " fistp 288(%%"REG_D")\n\t"
975 " fadds 92(%%"REG_d")\n\t"
976 " fistp 352(%%"REG_D")\n\t"
978 " flds 124(%%"REG_d")\n\t"
979 " fist 480(%%"REG_D")\n\t"
980 " fadds 92(%%"REG_d")\n\t"
981 " fistp 416(%%"REG_D")\n\t"
982 " movsw\n\t"
983 ".L_bye:"
985 :"m"(a),"m"(b),"m"(c),"m"(tmp[0])
986 :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi");