Mercurial > mplayer.hg
annotate mp3lib/dct64_MMX.c @ 6766:f7cd3a7aaa13
Applied patch by Fabian Franz <FabianFranz@gmx.de>, adding a note to the TV
section and correcting a keyboard control.
Reviewed the TV section, realigned the table and reworded the entries.
author | diego |
---|---|
date | Mon, 22 Jul 2002 11:25:01 +0000 |
parents | 82a03c17f314 |
children | 855b9c55d1b0 |
rev | line source |
---|---|
4165 | 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 */ | |
4246
3f677202418b
mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents:
4165
diff
changeset
|
6 #include "../mangle.h" |
4165 | 7 #define real float /* ugly - but only way */ |
8 | |
9 void __attribute__ (( __stdcall__ )) dct64_MMX(real *a,real *b,real *c) | |
10 { | |
11 char tmp[256]; | |
12 __asm __volatile( | |
13 " movl %2,%%eax\n\t" | |
14 /* Phase 1*/ | |
15 " flds (%%eax)\n\t" | |
16 " leal 128+%3,%%edx\n\t" | |
17 " fadds 124(%%eax)\n\t" | |
18 " movl %0,%%esi\n\t" | |
19 " fstps (%%edx)\n\t" | |
20 " movl %1,%%edi\n\t" | |
21 | |
22 " flds 4(%%eax)\n\t" | |
4246
3f677202418b
mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents:
4165
diff
changeset
|
23 " movl $"MANGLE(costab_mmx)",%%ebx\n\t" |
4165 | 24 " fadds 120(%%eax)\n\t" |
25 " orl %%ecx,%%ecx\n\t" | |
26 " fstps 4(%%edx)\n\t" | |
27 | |
28 " flds (%%eax)\n\t" | |
29 " leal %3,%%ecx\n\t" | |
30 " fsubs 124(%%eax)\n\t" | |
31 " fmuls (%%ebx)\n\t" | |
32 " fstps 124(%%edx)\n\t" | |
33 | |
34 " flds 4(%%eax)\n\t" | |
35 " fsubs 120(%%eax)\n\t" | |
36 " fmuls 4(%%ebx)\n\t" | |
37 " fstps 120(%%edx)\n\t" | |
38 | |
39 " flds 8(%%eax)\n\t" | |
40 " fadds 116(%%eax)\n\t" | |
41 " fstps 8(%%edx)\n\t" | |
42 | |
43 " flds 12(%%eax)\n\t" | |
44 " fadds 112(%%eax)\n\t" | |
45 " fstps 12(%%edx)\n\t" | |
46 | |
47 " flds 8(%%eax)\n\t" | |
48 " fsubs 116(%%eax)\n\t" | |
49 " fmuls 8(%%ebx)\n\t" | |
50 " fstps 116(%%edx)\n\t" | |
51 | |
52 " flds 12(%%eax)\n\t" | |
53 " fsubs 112(%%eax)\n\t" | |
54 " fmuls 12(%%ebx)\n\t" | |
55 " fstps 112(%%edx)\n\t" | |
56 | |
57 " flds 16(%%eax)\n\t" | |
58 " fadds 108(%%eax)\n\t" | |
59 " fstps 16(%%edx)\n\t" | |
60 | |
61 " flds 20(%%eax)\n\t" | |
62 " fadds 104(%%eax)\n\t" | |
63 " fstps 20(%%edx)\n\t" | |
64 | |
65 " flds 16(%%eax)\n\t" | |
66 " fsubs 108(%%eax)\n\t" | |
67 " fmuls 16(%%ebx)\n\t" | |
68 " fstps 108(%%edx)\n\t" | |
69 | |
70 " flds 20(%%eax)\n\t" | |
71 " fsubs 104(%%eax)\n\t" | |
72 " fmuls 20(%%ebx)\n\t" | |
73 " fstps 104(%%edx)\n\t" | |
74 | |
75 " flds 24(%%eax)\n\t" | |
76 " fadds 100(%%eax)\n\t" | |
77 " fstps 24(%%edx)\n\t" | |
78 | |
79 " flds 28(%%eax)\n\t" | |
80 " fadds 96(%%eax)\n\t" | |
81 " fstps 28(%%edx)\n\t" | |
82 | |
83 " flds 24(%%eax)\n\t" | |
84 " fsubs 100(%%eax)\n\t" | |
85 " fmuls 24(%%ebx)\n\t" | |
86 " fstps 100(%%edx)\n\t" | |
87 | |
88 " flds 28(%%eax)\n\t" | |
89 " fsubs 96(%%eax)\n\t" | |
90 " fmuls 28(%%ebx)\n\t" | |
91 " fstps 96(%%edx)\n\t" | |
92 | |
93 " flds 32(%%eax)\n\t" | |
94 " fadds 92(%%eax)\n\t" | |
95 " fstps 32(%%edx)\n\t" | |
96 | |
97 " flds 36(%%eax)\n\t" | |
98 " fadds 88(%%eax)\n\t" | |
99 " fstps 36(%%edx)\n\t" | |
100 | |
101 " flds 32(%%eax)\n\t" | |
102 " fsubs 92(%%eax)\n\t" | |
103 " fmuls 32(%%ebx)\n\t" | |
104 " fstps 92(%%edx)\n\t" | |
105 | |
106 " flds 36(%%eax)\n\t" | |
107 " fsubs 88(%%eax)\n\t" | |
108 " fmuls 36(%%ebx)\n\t" | |
109 " fstps 88(%%edx)\n\t" | |
110 | |
111 " flds 40(%%eax)\n\t" | |
112 " fadds 84(%%eax)\n\t" | |
113 " fstps 40(%%edx)\n\t" | |
114 | |
115 " flds 44(%%eax)\n\t" | |
116 " fadds 80(%%eax)\n\t" | |
117 " fstps 44(%%edx)\n\t" | |
118 | |
119 " flds 40(%%eax)\n\t" | |
120 " fsubs 84(%%eax)\n\t" | |
121 " fmuls 40(%%ebx)\n\t" | |
122 " fstps 84(%%edx)\n\t" | |
123 | |
124 " flds 44(%%eax)\n\t" | |
125 " fsubs 80(%%eax)\n\t" | |
126 " fmuls 44(%%ebx)\n\t" | |
127 " fstps 80(%%edx)\n\t" | |
128 | |
129 " flds 48(%%eax)\n\t" | |
130 " fadds 76(%%eax)\n\t" | |
131 " fstps 48(%%edx)\n\t" | |
132 | |
133 " flds 52(%%eax)\n\t" | |
134 " fadds 72(%%eax)\n\t" | |
135 " fstps 52(%%edx)\n\t" | |
136 | |
137 " flds 48(%%eax)\n\t" | |
138 " fsubs 76(%%eax)\n\t" | |
139 " fmuls 48(%%ebx)\n\t" | |
140 " fstps 76(%%edx)\n\t" | |
141 | |
142 " flds 52(%%eax)\n\t" | |
143 " fsubs 72(%%eax)\n\t" | |
144 " fmuls 52(%%ebx)\n\t" | |
145 " fstps 72(%%edx)\n\t" | |
146 | |
147 " flds 56(%%eax)\n\t" | |
148 " fadds 68(%%eax)\n\t" | |
149 " fstps 56(%%edx)\n\t" | |
150 | |
151 " flds 60(%%eax)\n\t" | |
152 " fadds 64(%%eax)\n\t" | |
153 " fstps 60(%%edx)\n\t" | |
154 | |
155 " flds 56(%%eax)\n\t" | |
156 " fsubs 68(%%eax)\n\t" | |
157 " fmuls 56(%%ebx)\n\t" | |
158 " fstps 68(%%edx)\n\t" | |
159 | |
160 " flds 60(%%eax)\n\t" | |
161 " fsubs 64(%%eax)\n\t" | |
162 " fmuls 60(%%ebx)\n\t" | |
163 " fstps 64(%%edx)\n\t" | |
164 | |
165 /* Phase 2*/ | |
166 | |
167 " flds (%%edx)\n\t" | |
168 " fadds 60(%%edx)\n\t" | |
169 " fstps (%%ecx)\n\t" | |
170 | |
171 " flds 4(%%edx)\n\t" | |
172 " fadds 56(%%edx)\n\t" | |
173 " fstps 4(%%ecx)\n\t" | |
174 | |
175 " flds (%%edx)\n\t" | |
176 " fsubs 60(%%edx)\n\t" | |
177 " fmuls 64(%%ebx)\n\t" | |
178 " fstps 60(%%ecx)\n\t" | |
179 | |
180 " flds 4(%%edx)\n\t" | |
181 " fsubs 56(%%edx)\n\t" | |
182 " fmuls 68(%%ebx)\n\t" | |
183 " fstps 56(%%ecx)\n\t" | |
184 | |
185 " flds 8(%%edx)\n\t" | |
186 " fadds 52(%%edx)\n\t" | |
187 " fstps 8(%%ecx)\n\t" | |
188 | |
189 " flds 12(%%edx)\n\t" | |
190 " fadds 48(%%edx)\n\t" | |
191 " fstps 12(%%ecx)\n\t" | |
192 | |
193 " flds 8(%%edx)\n\t" | |
194 " fsubs 52(%%edx)\n\t" | |
195 " fmuls 72(%%ebx)\n\t" | |
196 " fstps 52(%%ecx)\n\t" | |
197 | |
198 " flds 12(%%edx)\n\t" | |
199 " fsubs 48(%%edx)\n\t" | |
200 " fmuls 76(%%ebx)\n\t" | |
201 " fstps 48(%%ecx)\n\t" | |
202 | |
203 " flds 16(%%edx)\n\t" | |
204 " fadds 44(%%edx)\n\t" | |
205 " fstps 16(%%ecx)\n\t" | |
206 | |
207 " flds 20(%%edx)\n\t" | |
208 " fadds 40(%%edx)\n\t" | |
209 " fstps 20(%%ecx)\n\t" | |
210 | |
211 " flds 16(%%edx)\n\t" | |
212 " fsubs 44(%%edx)\n\t" | |
213 " fmuls 80(%%ebx)\n\t" | |
214 " fstps 44(%%ecx)\n\t" | |
215 | |
216 " flds 20(%%edx)\n\t" | |
217 " fsubs 40(%%edx)\n\t" | |
218 " fmuls 84(%%ebx)\n\t" | |
219 " fstps 40(%%ecx)\n\t" | |
220 | |
221 " flds 24(%%edx)\n\t" | |
222 " fadds 36(%%edx)\n\t" | |
223 " fstps 24(%%ecx)\n\t" | |
224 | |
225 " flds 28(%%edx)\n\t" | |
226 " fadds 32(%%edx)\n\t" | |
227 " fstps 28(%%ecx)\n\t" | |
228 | |
229 " flds 24(%%edx)\n\t" | |
230 " fsubs 36(%%edx)\n\t" | |
231 " fmuls 88(%%ebx)\n\t" | |
232 " fstps 36(%%ecx)\n\t" | |
233 | |
234 " flds 28(%%edx)\n\t" | |
235 " fsubs 32(%%edx)\n\t" | |
236 " fmuls 92(%%ebx)\n\t" | |
237 " fstps 32(%%ecx)\n\t" | |
238 | |
239 /* Phase 3*/ | |
240 | |
241 " flds 64(%%edx)\n\t" | |
242 " fadds 124(%%edx)\n\t" | |
243 " fstps 64(%%ecx)\n\t" | |
244 | |
245 " flds 68(%%edx)\n\t" | |
246 " fadds 120(%%edx)\n\t" | |
247 " fstps 68(%%ecx)\n\t" | |
248 | |
249 " flds 124(%%edx)\n\t" | |
250 " fsubs 64(%%edx)\n\t" | |
251 " fmuls 64(%%ebx)\n\t" | |
252 " fstps 124(%%ecx)\n\t" | |
253 | |
254 " flds 120(%%edx)\n\t" | |
255 " fsubs 68(%%edx)\n\t" | |
256 " fmuls 68(%%ebx)\n\t" | |
257 " fstps 120(%%ecx)\n\t" | |
258 | |
259 " flds 72(%%edx)\n\t" | |
260 " fadds 116(%%edx)\n\t" | |
261 " fstps 72(%%ecx)\n\t" | |
262 | |
263 " flds 76(%%edx)\n\t" | |
264 " fadds 112(%%edx)\n\t" | |
265 " fstps 76(%%ecx)\n\t" | |
266 | |
267 " flds 116(%%edx)\n\t" | |
268 " fsubs 72(%%edx)\n\t" | |
269 " fmuls 72(%%ebx)\n\t" | |
270 " fstps 116(%%ecx)\n\t" | |
271 | |
272 " flds 112(%%edx)\n\t" | |
273 " fsubs 76(%%edx)\n\t" | |
274 " fmuls 76(%%ebx)\n\t" | |
275 " fstps 112(%%ecx)\n\t" | |
276 | |
277 " flds 80(%%edx)\n\t" | |
278 " fadds 108(%%edx)\n\t" | |
279 " fstps 80(%%ecx)\n\t" | |
280 | |
281 " flds 84(%%edx)\n\t" | |
282 " fadds 104(%%edx)\n\t" | |
283 " fstps 84(%%ecx)\n\t" | |
284 | |
285 " flds 108(%%edx)\n\t" | |
286 " fsubs 80(%%edx)\n\t" | |
287 " fmuls 80(%%ebx)\n\t" | |
288 " fstps 108(%%ecx)\n\t" | |
289 | |
290 " flds 104(%%edx)\n\t" | |
291 " fsubs 84(%%edx)\n\t" | |
292 " fmuls 84(%%ebx)\n\t" | |
293 " fstps 104(%%ecx)\n\t" | |
294 | |
295 " flds 88(%%edx)\n\t" | |
296 " fadds 100(%%edx)\n\t" | |
297 " fstps 88(%%ecx)\n\t" | |
298 | |
299 " flds 92(%%edx)\n\t" | |
300 " fadds 96(%%edx)\n\t" | |
301 " fstps 92(%%ecx)\n\t" | |
302 | |
303 " flds 100(%%edx)\n\t" | |
304 " fsubs 88(%%edx)\n\t" | |
305 " fmuls 88(%%ebx)\n\t" | |
306 " fstps 100(%%ecx)\n\t" | |
307 | |
308 " flds 96(%%edx)\n\t" | |
309 " fsubs 92(%%edx)\n\t" | |
310 " fmuls 92(%%ebx)\n\t" | |
311 " fstps 96(%%ecx)\n\t" | |
312 | |
313 /* Phase 4*/ | |
314 | |
315 " flds (%%ecx)\n\t" | |
316 " fadds 28(%%ecx)\n\t" | |
317 " fstps (%%edx)\n\t" | |
318 | |
319 " flds (%%ecx)\n\t" | |
320 " fsubs 28(%%ecx)\n\t" | |
321 " fmuls 96(%%ebx)\n\t" | |
322 " fstps 28(%%edx)\n\t" | |
323 | |
324 " flds 4(%%ecx)\n\t" | |
325 " fadds 24(%%ecx)\n\t" | |
326 " fstps 4(%%edx)\n\t" | |
327 | |
328 " flds 4(%%ecx)\n\t" | |
329 " fsubs 24(%%ecx)\n\t" | |
330 " fmuls 100(%%ebx)\n\t" | |
331 " fstps 24(%%edx)\n\t" | |
332 | |
333 " flds 8(%%ecx)\n\t" | |
334 " fadds 20(%%ecx)\n\t" | |
335 " fstps 8(%%edx)\n\t" | |
336 | |
337 " flds 8(%%ecx)\n\t" | |
338 " fsubs 20(%%ecx)\n\t" | |
339 " fmuls 104(%%ebx)\n\t" | |
340 " fstps 20(%%edx)\n\t" | |
341 | |
342 " flds 12(%%ecx)\n\t" | |
343 " fadds 16(%%ecx)\n\t" | |
344 " fstps 12(%%edx)\n\t" | |
345 | |
346 " flds 12(%%ecx)\n\t" | |
347 " fsubs 16(%%ecx)\n\t" | |
348 " fmuls 108(%%ebx)\n\t" | |
349 " fstps 16(%%edx)\n\t" | |
350 | |
351 " flds 32(%%ecx)\n\t" | |
352 " fadds 60(%%ecx)\n\t" | |
353 " fstps 32(%%edx)\n\t" | |
354 | |
355 " flds 60(%%ecx)\n\t" | |
356 " fsubs 32(%%ecx)\n\t" | |
357 " fmuls 96(%%ebx)\n\t" | |
358 " fstps 60(%%edx)\n\t" | |
359 | |
360 " flds 36(%%ecx)\n\t" | |
361 " fadds 56(%%ecx)\n\t" | |
362 " fstps 36(%%edx)\n\t" | |
363 | |
364 " flds 56(%%ecx)\n\t" | |
365 " fsubs 36(%%ecx)\n\t" | |
366 " fmuls 100(%%ebx)\n\t" | |
367 " fstps 56(%%edx)\n\t" | |
368 | |
369 " flds 40(%%ecx)\n\t" | |
370 " fadds 52(%%ecx)\n\t" | |
371 " fstps 40(%%edx)\n\t" | |
372 | |
373 " flds 52(%%ecx)\n\t" | |
374 " fsubs 40(%%ecx)\n\t" | |
375 " fmuls 104(%%ebx)\n\t" | |
376 " fstps 52(%%edx)\n\t" | |
377 | |
378 " flds 44(%%ecx)\n\t" | |
379 " fadds 48(%%ecx)\n\t" | |
380 " fstps 44(%%edx)\n\t" | |
381 | |
382 " flds 48(%%ecx)\n\t" | |
383 " fsubs 44(%%ecx)\n\t" | |
384 " fmuls 108(%%ebx)\n\t" | |
385 " fstps 48(%%edx)\n\t" | |
386 | |
387 " flds 64(%%ecx)\n\t" | |
388 " fadds 92(%%ecx)\n\t" | |
389 " fstps 64(%%edx)\n\t" | |
390 | |
391 " flds 64(%%ecx)\n\t" | |
392 " fsubs 92(%%ecx)\n\t" | |
393 " fmuls 96(%%ebx)\n\t" | |
394 " fstps 92(%%edx)\n\t" | |
395 | |
396 " flds 68(%%ecx)\n\t" | |
397 " fadds 88(%%ecx)\n\t" | |
398 " fstps 68(%%edx)\n\t" | |
399 | |
400 " flds 68(%%ecx)\n\t" | |
401 " fsubs 88(%%ecx)\n\t" | |
402 " fmuls 100(%%ebx)\n\t" | |
403 " fstps 88(%%edx)\n\t" | |
404 | |
405 " flds 72(%%ecx)\n\t" | |
406 " fadds 84(%%ecx)\n\t" | |
407 " fstps 72(%%edx)\n\t" | |
408 | |
409 " flds 72(%%ecx)\n\t" | |
410 " fsubs 84(%%ecx)\n\t" | |
411 " fmuls 104(%%ebx)\n\t" | |
412 " fstps 84(%%edx)\n\t" | |
413 | |
414 " flds 76(%%ecx)\n\t" | |
415 " fadds 80(%%ecx)\n\t" | |
416 " fstps 76(%%edx)\n\t" | |
417 | |
418 " flds 76(%%ecx)\n\t" | |
419 " fsubs 80(%%ecx)\n\t" | |
420 " fmuls 108(%%ebx)\n\t" | |
421 " fstps 80(%%edx)\n\t" | |
422 | |
423 " flds 96(%%ecx)\n\t" | |
424 " fadds 124(%%ecx)\n\t" | |
425 " fstps 96(%%edx)\n\t" | |
426 | |
427 " flds 124(%%ecx)\n\t" | |
428 " fsubs 96(%%ecx)\n\t" | |
429 " fmuls 96(%%ebx)\n\t" | |
430 " fstps 124(%%edx)\n\t" | |
431 | |
432 " flds 100(%%ecx)\n\t" | |
433 " fadds 120(%%ecx)\n\t" | |
434 " fstps 100(%%edx)\n\t" | |
435 | |
436 " flds 120(%%ecx)\n\t" | |
437 " fsubs 100(%%ecx)\n\t" | |
438 " fmuls 100(%%ebx)\n\t" | |
439 " fstps 120(%%edx)\n\t" | |
440 | |
441 " flds 104(%%ecx)\n\t" | |
442 " fadds 116(%%ecx)\n\t" | |
443 " fstps 104(%%edx)\n\t" | |
444 | |
445 " flds 116(%%ecx)\n\t" | |
446 " fsubs 104(%%ecx)\n\t" | |
447 " fmuls 104(%%ebx)\n\t" | |
448 " fstps 116(%%edx)\n\t" | |
449 | |
450 " flds 108(%%ecx)\n\t" | |
451 " fadds 112(%%ecx)\n\t" | |
452 " fstps 108(%%edx)\n\t" | |
453 | |
454 " flds 112(%%ecx)\n\t" | |
455 " fsubs 108(%%ecx)\n\t" | |
456 " fmuls 108(%%ebx)\n\t" | |
457 " fstps 112(%%edx)\n\t" | |
458 | |
459 " flds (%%edx)\n\t" | |
460 " fadds 12(%%edx)\n\t" | |
461 " fstps (%%ecx)\n\t" | |
462 | |
463 " flds (%%edx)\n\t" | |
464 " fsubs 12(%%edx)\n\t" | |
465 " fmuls 112(%%ebx)\n\t" | |
466 " fstps 12(%%ecx)\n\t" | |
467 | |
468 " flds 4(%%edx)\n\t" | |
469 " fadds 8(%%edx)\n\t" | |
470 " fstps 4(%%ecx)\n\t" | |
471 | |
472 " flds 4(%%edx)\n\t" | |
473 " fsubs 8(%%edx)\n\t" | |
474 " fmuls 116(%%ebx)\n\t" | |
475 " fstps 8(%%ecx)\n\t" | |
476 | |
477 " flds 16(%%edx)\n\t" | |
478 " fadds 28(%%edx)\n\t" | |
479 " fstps 16(%%ecx)\n\t" | |
480 | |
481 " flds 28(%%edx)\n\t" | |
482 " fsubs 16(%%edx)\n\t" | |
483 " fmuls 112(%%ebx)\n\t" | |
484 " fstps 28(%%ecx)\n\t" | |
485 | |
486 " flds 20(%%edx)\n\t" | |
487 " fadds 24(%%edx)\n\t" | |
488 " fstps 20(%%ecx)\n\t" | |
489 | |
490 " flds 24(%%edx)\n\t" | |
491 " fsubs 20(%%edx)\n\t" | |
492 " fmuls 116(%%ebx)\n\t" | |
493 " fstps 24(%%ecx)\n\t" | |
494 | |
495 " flds 32(%%edx)\n\t" | |
496 " fadds 44(%%edx)\n\t" | |
497 " fstps 32(%%ecx)\n\t" | |
498 | |
499 " flds 32(%%edx)\n\t" | |
500 " fsubs 44(%%edx)\n\t" | |
501 " fmuls 112(%%ebx)\n\t" | |
502 " fstps 44(%%ecx)\n\t" | |
503 | |
504 " flds 36(%%edx)\n\t" | |
505 " fadds 40(%%edx)\n\t" | |
506 " fstps 36(%%ecx)\n\t" | |
507 | |
508 " flds 36(%%edx)\n\t" | |
509 " fsubs 40(%%edx)\n\t" | |
510 " fmuls 116(%%ebx)\n\t" | |
511 " fstps 40(%%ecx)\n\t" | |
512 | |
513 " flds 48(%%edx)\n\t" | |
514 " fadds 60(%%edx)\n\t" | |
515 " fstps 48(%%ecx)\n\t" | |
516 | |
517 " flds 60(%%edx)\n\t" | |
518 " fsubs 48(%%edx)\n\t" | |
519 " fmuls 112(%%ebx)\n\t" | |
520 " fstps 60(%%ecx)\n\t" | |
521 | |
522 " flds 52(%%edx)\n\t" | |
523 " fadds 56(%%edx)\n\t" | |
524 " fstps 52(%%ecx)\n\t" | |
525 | |
526 " flds 56(%%edx)\n\t" | |
527 " fsubs 52(%%edx)\n\t" | |
528 " fmuls 116(%%ebx)\n\t" | |
529 " fstps 56(%%ecx)\n\t" | |
530 | |
531 " flds 64(%%edx)\n\t" | |
532 " fadds 76(%%edx)\n\t" | |
533 " fstps 64(%%ecx)\n\t" | |
534 | |
535 " flds 64(%%edx)\n\t" | |
536 " fsubs 76(%%edx)\n\t" | |
537 " fmuls 112(%%ebx)\n\t" | |
538 " fstps 76(%%ecx)\n\t" | |
539 | |
540 " flds 68(%%edx)\n\t" | |
541 " fadds 72(%%edx)\n\t" | |
542 " fstps 68(%%ecx)\n\t" | |
543 | |
544 " flds 68(%%edx)\n\t" | |
545 " fsubs 72(%%edx)\n\t" | |
546 " fmuls 116(%%ebx)\n\t" | |
547 " fstps 72(%%ecx)\n\t" | |
548 | |
549 " flds 80(%%edx)\n\t" | |
550 " fadds 92(%%edx)\n\t" | |
551 " fstps 80(%%ecx)\n\t" | |
552 | |
553 " flds 92(%%edx)\n\t" | |
554 " fsubs 80(%%edx)\n\t" | |
555 " fmuls 112(%%ebx)\n\t" | |
556 " fstps 92(%%ecx)\n\t" | |
557 | |
558 " flds 84(%%edx)\n\t" | |
559 " fadds 88(%%edx)\n\t" | |
560 " fstps 84(%%ecx)\n\t" | |
561 | |
562 " flds 88(%%edx)\n\t" | |
563 " fsubs 84(%%edx)\n\t" | |
564 " fmuls 116(%%ebx)\n\t" | |
565 " fstps 88(%%ecx)\n\t" | |
566 | |
567 " flds 96(%%edx)\n\t" | |
568 " fadds 108(%%edx)\n\t" | |
569 " fstps 96(%%ecx)\n\t" | |
570 | |
571 " flds 96(%%edx)\n\t" | |
572 " fsubs 108(%%edx)\n\t" | |
573 " fmuls 112(%%ebx)\n\t" | |
574 " fstps 108(%%ecx)\n\t" | |
575 | |
576 " flds 100(%%edx)\n\t" | |
577 " fadds 104(%%edx)\n\t" | |
578 " fstps 100(%%ecx)\n\t" | |
579 | |
580 " flds 100(%%edx)\n\t" | |
581 " fsubs 104(%%edx)\n\t" | |
582 " fmuls 116(%%ebx)\n\t" | |
583 " fstps 104(%%ecx)\n\t" | |
584 | |
585 " flds 112(%%edx)\n\t" | |
586 " fadds 124(%%edx)\n\t" | |
587 " fstps 112(%%ecx)\n\t" | |
588 | |
589 " flds 124(%%edx)\n\t" | |
590 " fsubs 112(%%edx)\n\t" | |
591 " fmuls 112(%%ebx)\n\t" | |
592 " fstps 124(%%ecx)\n\t" | |
593 | |
594 " flds 116(%%edx)\n\t" | |
595 " fadds 120(%%edx)\n\t" | |
596 " fstps 116(%%ecx)\n\t" | |
597 | |
598 " flds 120(%%edx)\n\t" | |
599 " fsubs 116(%%edx)\n\t" | |
600 " fmuls 116(%%ebx)\n\t" | |
601 " fstps 120(%%ecx)\n\t" | |
602 | |
603 /* Phase 5*/ | |
604 | |
605 " flds 32(%%ecx)\n\t" | |
606 " fadds 36(%%ecx)\n\t" | |
607 " fstps 32(%%edx)\n\t" | |
608 | |
609 " flds 32(%%ecx)\n\t" | |
610 " fsubs 36(%%ecx)\n\t" | |
611 " fmuls 120(%%ebx)\n\t" | |
612 " fstps 36(%%edx)\n\t" | |
613 | |
614 " flds 44(%%ecx)\n\t" | |
615 " fsubs 40(%%ecx)\n\t" | |
616 " fmuls 120(%%ebx)\n\t" | |
617 " fsts 44(%%edx)\n\t" | |
618 " fadds 40(%%ecx)\n\t" | |
619 " fadds 44(%%ecx)\n\t" | |
620 " fstps 40(%%edx)\n\t" | |
621 | |
622 " flds 48(%%ecx)\n\t" | |
623 " fsubs 52(%%ecx)\n\t" | |
624 " fmuls 120(%%ebx)\n\t" | |
625 | |
626 " flds 60(%%ecx)\n\t" | |
627 " fsubs 56(%%ecx)\n\t" | |
628 " fmuls 120(%%ebx)\n\t" | |
629 " fld %%st(0)\n\t" | |
630 " fadds 56(%%ecx)\n\t" | |
631 " fadds 60(%%ecx)\n\t" | |
632 " fld %%st(0)\n\t" | |
633 " fadds 48(%%ecx)\n\t" | |
634 " fadds 52(%%ecx)\n\t" | |
635 " fstps 48(%%edx)\n\t" | |
636 " fadd %%st(2)\n\t" | |
637 " fstps 56(%%edx)\n\t" | |
638 " fsts 60(%%edx)\n\t" | |
639 " faddp %%st(1)\n\t" | |
640 " fstps 52(%%edx)\n\t" | |
641 | |
642 " flds 64(%%ecx)\n\t" | |
643 " fadds 68(%%ecx)\n\t" | |
644 " fstps 64(%%edx)\n\t" | |
645 | |
646 " flds 64(%%ecx)\n\t" | |
647 " fsubs 68(%%ecx)\n\t" | |
648 " fmuls 120(%%ebx)\n\t" | |
649 " fstps 68(%%edx)\n\t" | |
650 | |
651 " flds 76(%%ecx)\n\t" | |
652 " fsubs 72(%%ecx)\n\t" | |
653 " fmuls 120(%%ebx)\n\t" | |
654 " fsts 76(%%edx)\n\t" | |
655 " fadds 72(%%ecx)\n\t" | |
656 " fadds 76(%%ecx)\n\t" | |
657 " fstps 72(%%edx)\n\t" | |
658 | |
659 " flds 92(%%ecx)\n\t" | |
660 " fsubs 88(%%ecx)\n\t" | |
661 " fmuls 120(%%ebx)\n\t" | |
662 " fsts 92(%%edx)\n\t" | |
663 " fadds 92(%%ecx)\n\t" | |
664 " fadds 88(%%ecx)\n\t" | |
665 " fld %%st(0)\n\t" | |
666 " fadds 80(%%ecx)\n\t" | |
667 " fadds 84(%%ecx)\n\t" | |
668 " fstps 80(%%edx)\n\t" | |
669 | |
670 " flds 80(%%ecx)\n\t" | |
671 " fsubs 84(%%ecx)\n\t" | |
672 " fmuls 120(%%ebx)\n\t" | |
673 " fadd %%st(0), %%st(1)\n\t" | |
674 " fadds 92(%%edx)\n\t" | |
675 " fstps 84(%%edx)\n\t" | |
676 " fstps 88(%%edx)\n\t" | |
677 | |
678 " flds 96(%%ecx)\n\t" | |
679 " fadds 100(%%ecx)\n\t" | |
680 " fstps 96(%%edx)\n\t" | |
681 | |
682 " flds 96(%%ecx)\n\t" | |
683 " fsubs 100(%%ecx)\n\t" | |
684 " fmuls 120(%%ebx)\n\t" | |
685 " fstps 100(%%edx)\n\t" | |
686 | |
687 " flds 108(%%ecx)\n\t" | |
688 " fsubs 104(%%ecx)\n\t" | |
689 " fmuls 120(%%ebx)\n\t" | |
690 " fsts 108(%%edx)\n\t" | |
691 " fadds 104(%%ecx)\n\t" | |
692 " fadds 108(%%ecx)\n\t" | |
693 " fstps 104(%%edx)\n\t" | |
694 | |
695 " flds 124(%%ecx)\n\t" | |
696 " fsubs 120(%%ecx)\n\t" | |
697 " fmuls 120(%%ebx)\n\t" | |
698 " fsts 124(%%edx)\n\t" | |
699 " fadds 120(%%ecx)\n\t" | |
700 " fadds 124(%%ecx)\n\t" | |
701 " fld %%st(0)\n\t" | |
702 " fadds 112(%%ecx)\n\t" | |
703 " fadds 116(%%ecx)\n\t" | |
704 " fstps 112(%%edx)\n\t" | |
705 | |
706 " flds 112(%%ecx)\n\t" | |
707 " fsubs 116(%%ecx)\n\t" | |
708 " fmuls 120(%%ebx)\n\t" | |
709 " fadd %%st(0),%%st(1)\n\t" | |
710 " fadds 124(%%edx)\n\t" | |
711 " fstps 116(%%edx)\n\t" | |
712 " fstps 120(%%edx)\n\t" | |
713 " jnz .L01\n\t" | |
714 | |
715 /* Phase 6*/ | |
716 | |
717 " flds (%%ecx)\n\t" | |
718 " fadds 4(%%ecx)\n\t" | |
719 " fstps 1024(%%esi)\n\t" | |
720 | |
721 " flds (%%ecx)\n\t" | |
722 " fsubs 4(%%ecx)\n\t" | |
723 " fmuls 120(%%ebx)\n\t" | |
724 " fsts (%%esi)\n\t" | |
725 " fstps (%%edi)\n\t" | |
726 | |
727 " flds 12(%%ecx)\n\t" | |
728 " fsubs 8(%%ecx)\n\t" | |
729 " fmuls 120(%%ebx)\n\t" | |
730 " fsts 512(%%edi)\n\t" | |
731 " fadds 12(%%ecx)\n\t" | |
732 " fadds 8(%%ecx)\n\t" | |
733 " fstps 512(%%esi)\n\t" | |
734 | |
735 " flds 16(%%ecx)\n\t" | |
736 " fsubs 20(%%ecx)\n\t" | |
737 " fmuls 120(%%ebx)\n\t" | |
738 | |
739 " flds 28(%%ecx)\n\t" | |
740 " fsubs 24(%%ecx)\n\t" | |
741 " fmuls 120(%%ebx)\n\t" | |
742 " fsts 768(%%edi)\n\t" | |
743 " fld %%st(0)\n\t" | |
744 " fadds 24(%%ecx)\n\t" | |
745 " fadds 28(%%ecx)\n\t" | |
746 " fld %%st(0)\n\t" | |
747 " fadds 16(%%ecx)\n\t" | |
748 " fadds 20(%%ecx)\n\t" | |
749 " fstps 768(%%esi)\n\t" | |
750 " fadd %%st(2)\n\t" | |
751 " fstps 256(%%esi)\n\t" | |
752 " faddp %%st(1)\n\t" | |
753 " fstps 256(%%edi)\n\t" | |
754 | |
755 /* Phase 7*/ | |
756 | |
757 " flds 32(%%edx)\n\t" | |
758 " fadds 48(%%edx)\n\t" | |
759 " fstps 896(%%esi)\n\t" | |
760 | |
761 " flds 48(%%edx)\n\t" | |
762 " fadds 40(%%edx)\n\t" | |
763 " fstps 640(%%esi)\n\t" | |
764 | |
765 " flds 40(%%edx)\n\t" | |
766 " fadds 56(%%edx)\n\t" | |
767 " fstps 384(%%esi)\n\t" | |
768 | |
769 " flds 56(%%edx)\n\t" | |
770 " fadds 36(%%edx)\n\t" | |
771 " fstps 128(%%esi)\n\t" | |
772 | |
773 " flds 36(%%edx)\n\t" | |
774 " fadds 52(%%edx)\n\t" | |
775 " fstps 128(%%edi)\n\t" | |
776 | |
777 " flds 52(%%edx)\n\t" | |
778 " fadds 44(%%edx)\n\t" | |
779 " fstps 384(%%edi)\n\t" | |
780 | |
781 " flds 60(%%edx)\n\t" | |
782 " fsts 896(%%edi)\n\t" | |
783 " fadds 44(%%edx)\n\t" | |
784 " fstps 640(%%edi)\n\t" | |
785 | |
786 " flds 96(%%edx)\n\t" | |
787 " fadds 112(%%edx)\n\t" | |
788 " fld %%st(0)\n\t" | |
789 " fadds 64(%%edx)\n\t" | |
790 " fstps 960(%%esi)\n\t" | |
791 " fadds 80(%%edx)\n\t" | |
792 " fstps 832(%%esi)\n\t" | |
793 | |
794 " flds 112(%%edx)\n\t" | |
795 " fadds 104(%%edx)\n\t" | |
796 " fld %%st(0)\n\t" | |
797 " fadds 80(%%edx)\n\t" | |
798 " fstps 704(%%esi)\n\t" | |
799 " fadds 72(%%edx)\n\t" | |
800 " fstps 576(%%esi)\n\t" | |
801 | |
802 " flds 104(%%edx)\n\t" | |
803 " fadds 120(%%edx)\n\t" | |
804 " fld %%st(0)\n\t" | |
805 " fadds 72(%%edx)\n\t" | |
806 " fstps 448(%%esi)\n\t" | |
807 " fadds 88(%%edx)\n\t" | |
808 " fstps 320(%%esi)\n\t" | |
809 | |
810 " flds 120(%%edx)\n\t" | |
811 " fadds 100(%%edx)\n\t" | |
812 " fld %%st(0)\n\t" | |
813 " fadds 88(%%edx)\n\t" | |
814 " fstps 192(%%esi)\n\t" | |
815 " fadds 68(%%edx)\n\t" | |
816 " fstps 64(%%esi)\n\t" | |
817 | |
818 " flds 100(%%edx)\n\t" | |
819 " fadds 116(%%edx)\n\t" | |
820 " fld %%st(0)\n\t" | |
821 " fadds 68(%%edx)\n\t" | |
822 " fstps 64(%%edi)\n\t" | |
823 " fadds 84(%%edx)\n\t" | |
824 " fstps 192(%%edi)\n\t" | |
825 | |
826 " flds 116(%%edx)\n\t" | |
827 " fadds 108(%%edx)\n\t" | |
828 " fld %%st(0)\n\t" | |
829 " fadds 84(%%edx)\n\t" | |
830 " fstps 320(%%edi)\n\t" | |
831 " fadds 76(%%edx)\n\t" | |
832 " fstps 448(%%edi)\n\t" | |
833 | |
834 " flds 108(%%edx)\n\t" | |
835 " fadds 124(%%edx)\n\t" | |
836 " fld %%st(0)\n\t" | |
837 " fadds 76(%%edx)\n\t" | |
838 " fstps 576(%%edi)\n\t" | |
839 " fadds 92(%%edx)\n\t" | |
840 " fstps 704(%%edi)\n\t" | |
841 | |
842 " flds 124(%%edx)\n\t" | |
843 " fsts 960(%%edi)\n\t" | |
844 " fadds 92(%%edx)\n\t" | |
845 " fstps 832(%%edi)\n\t" | |
846 " addl $256,%%esp\n\t" | |
847 " popl %%edi\n\t" | |
848 " popl %%esi\n\t" | |
849 " popl %%ebx\n\t" | |
850 " jmp .L_bye\n\t" | |
851 ".L01:\n\t" | |
852 /* Phase 8*/ | |
853 | |
854 " flds (%%ecx)\n\t" | |
855 " fadds 4(%%ecx)\n\t" | |
856 " fistp 512(%%esi)\n\t" | |
857 | |
858 " flds (%%ecx)\n\t" | |
859 " fsubs 4(%%ecx)\n\t" | |
860 " fmuls 120(%%ebx)\n\t" | |
861 | |
862 " fistp (%%esi)\n\t" | |
863 | |
864 | |
865 " flds 12(%%ecx)\n\t" | |
866 " fsubs 8(%%ecx)\n\t" | |
867 " fmuls 120(%%ebx)\n\t" | |
868 " fist 256(%%edi)\n\t" | |
869 " fadds 12(%%ecx)\n\t" | |
870 " fadds 8(%%ecx)\n\t" | |
871 " fistp 256(%%esi)\n\t" | |
872 | |
873 " flds 16(%%ecx)\n\t" | |
874 " fsubs 20(%%ecx)\n\t" | |
875 " fmuls 120(%%ebx)\n\t" | |
876 | |
877 " flds 28(%%ecx)\n\t" | |
878 " fsubs 24(%%ecx)\n\t" | |
879 " fmuls 120(%%ebx)\n\t" | |
880 " fist 384(%%edi)\n\t" | |
881 " fld %%st(0)\n\t" | |
882 " fadds 24(%%ecx)\n\t" | |
883 " fadds 28(%%ecx)\n\t" | |
884 " fld %%st(0)\n\t" | |
885 " fadds 16(%%ecx)\n\t" | |
886 " fadds 20(%%ecx)\n\t" | |
887 " fistp 384(%%esi)\n\t" | |
888 " fadd %%st(2)\n\t" | |
889 " fistp 128(%%esi)\n\t" | |
890 " faddp %%st(1)\n\t" | |
891 " fistp 128(%%edi)\n\t" | |
892 | |
893 /* Phase 9*/ | |
894 | |
895 " flds 32(%%edx)\n\t" | |
896 " fadds 48(%%edx)\n\t" | |
897 " fistp 448(%%esi)\n\t" | |
898 | |
899 " flds 48(%%edx)\n\t" | |
900 " fadds 40(%%edx)\n\t" | |
901 " fistp 320(%%esi)\n\t" | |
902 | |
903 " flds 40(%%edx)\n\t" | |
904 " fadds 56(%%edx)\n\t" | |
905 " fistp 192(%%esi)\n\t" | |
906 | |
907 " flds 56(%%edx)\n\t" | |
908 " fadds 36(%%edx)\n\t" | |
909 " fistp 64(%%esi)\n\t" | |
910 | |
911 " flds 36(%%edx)\n\t" | |
912 " fadds 52(%%edx)\n\t" | |
913 " fistp 64(%%edi)\n\t" | |
914 | |
915 " flds 52(%%edx)\n\t" | |
916 " fadds 44(%%edx)\n\t" | |
917 " fistp 192(%%edi)\n\t" | |
918 | |
919 " flds 60(%%edx)\n\t" | |
920 " fist 448(%%edi)\n\t" | |
921 " fadds 44(%%edx)\n\t" | |
922 " fistp 320(%%edi)\n\t" | |
923 | |
924 " flds 96(%%edx)\n\t" | |
925 " fadds 112(%%edx)\n\t" | |
926 " fld %%st(0)\n\t" | |
927 " fadds 64(%%edx)\n\t" | |
928 " fistp 480(%%esi)\n\t" | |
929 " fadds 80(%%edx)\n\t" | |
930 " fistp 416(%%esi)\n\t" | |
931 | |
932 " flds 112(%%edx)\n\t" | |
933 " fadds 104(%%edx)\n\t" | |
934 " fld %%st(0)\n\t" | |
935 " fadds 80(%%edx)\n\t" | |
936 " fistp 352(%%esi)\n\t" | |
937 " fadds 72(%%edx)\n\t" | |
938 " fistp 288(%%esi)\n\t" | |
939 | |
940 " flds 104(%%edx)\n\t" | |
941 " fadds 120(%%edx)\n\t" | |
942 " fld %%st(0)\n\t" | |
943 " fadds 72(%%edx)\n\t" | |
944 " fistp 224(%%esi)\n\t" | |
945 " fadds 88(%%edx)\n\t" | |
946 " fistp 160(%%esi)\n\t" | |
947 | |
948 " flds 120(%%edx)\n\t" | |
949 " fadds 100(%%edx)\n\t" | |
950 " fld %%st(0)\n\t" | |
951 " fadds 88(%%edx)\n\t" | |
952 " fistp 96(%%esi)\n\t" | |
953 " fadds 68(%%edx)\n\t" | |
954 " fistp 32(%%esi)\n\t" | |
955 | |
956 " flds 100(%%edx)\n\t" | |
957 " fadds 116(%%edx)\n\t" | |
958 " fld %%st(0)\n\t" | |
959 " fadds 68(%%edx)\n\t" | |
960 " fistp 32(%%edi)\n\t" | |
961 " fadds 84(%%edx)\n\t" | |
962 " fistp 96(%%edi)\n\t" | |
963 | |
964 " flds 116(%%edx)\n\t" | |
965 " fadds 108(%%edx)\n\t" | |
966 " fld %%st(0)\n\t" | |
967 " fadds 84(%%edx)\n\t" | |
968 " fistp 160(%%edi)\n\t" | |
969 " fadds 76(%%edx)\n\t" | |
970 " fistp 224(%%edi)\n\t" | |
971 | |
972 " flds 108(%%edx)\n\t" | |
973 " fadds 124(%%edx)\n\t" | |
974 " fld %%st(0)\n\t" | |
975 " fadds 76(%%edx)\n\t" | |
976 " fistp 288(%%edi)\n\t" | |
977 " fadds 92(%%edx)\n\t" | |
978 " fistp 352(%%edi)\n\t" | |
979 | |
980 " flds 124(%%edx)\n\t" | |
981 " fist 480(%%edi)\n\t" | |
982 " fadds 92(%%edx)\n\t" | |
983 " fistp 416(%%edi)\n\t" | |
984 " movsw\n\t" | |
985 ".L_bye:" | |
986 : | |
987 :"m"(a),"m"(b),"m"(c),"m"(tmp[0]) | |
988 :"memory","%ebx","%esi","%edi"); | |
989 } |