~ubuntu-branches/debian/sid/mplayer/sid

« back to all changes in this revision

Viewing changes to mp3lib/dct64_MMX.c

  • Committer: Bazaar Package Importer
  • Author(s): A Mennucc1
  • Date: 2009-03-23 10:05:45 UTC
  • mfrom: (4.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20090323100545-x8h79obawnnte7kk
Tags: 1.0~rc2+svn20090303-5
debian/control : move docbook-xml,docbook-xsl,xsltproc from 
Build-Depends-Indep to Build-Depends, since they are needed to run
configure

Show diffs side-by-side

added added

removed removed

Lines of Context:
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 "mangle.h"
7
 
#define real float /* ugly - but only way */
8
 
 
9
 
void dct64_MMX(short *a,short *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"
23
 
"       movl $"MANGLE(costab_mmx)",%%ebx\n\t"
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
 
"       jmp     .L_bye\n\t"
847
 
".L01:\n\t"
848
 
/* Phase 8*/
849
 
 
850
 
"       flds      (%%ecx)\n\t"
851
 
"       fadds    4(%%ecx)\n\t"
852
 
"       fistp  512(%%esi)\n\t"
853
 
 
854
 
"       flds      (%%ecx)\n\t"
855
 
"       fsubs    4(%%ecx)\n\t"
856
 
"       fmuls  120(%%ebx)\n\t"
857
 
 
858
 
"       fistp     (%%esi)\n\t"
859
 
 
860
 
 
861
 
"       flds    12(%%ecx)\n\t"
862
 
"       fsubs    8(%%ecx)\n\t"
863
 
"       fmuls  120(%%ebx)\n\t"
864
 
"       fist   256(%%edi)\n\t"
865
 
"       fadds   12(%%ecx)\n\t"
866
 
"       fadds    8(%%ecx)\n\t"
867
 
"       fistp  256(%%esi)\n\t"
868
 
 
869
 
"       flds   16(%%ecx)\n\t"
870
 
"       fsubs  20(%%ecx)\n\t"
871
 
"       fmuls 120(%%ebx)\n\t"
872
 
 
873
 
"       flds   28(%%ecx)\n\t"
874
 
"       fsubs  24(%%ecx)\n\t"
875
 
"       fmuls 120(%%ebx)\n\t"
876
 
"       fist  384(%%edi)\n\t"
877
 
"       fld      %%st(0)\n\t"
878
 
"       fadds  24(%%ecx)\n\t"
879
 
"       fadds  28(%%ecx)\n\t"
880
 
"       fld      %%st(0)\n\t"
881
 
"       fadds  16(%%ecx)\n\t"
882
 
"       fadds  20(%%ecx)\n\t"
883
 
"       fistp  384(%%esi)\n\t"
884
 
"       fadd     %%st(2)\n\t"
885
 
"       fistp  128(%%esi)\n\t"
886
 
"       faddp    %%st(1)\n\t"
887
 
"       fistp  128(%%edi)\n\t"
888
 
 
889
 
/* Phase 9*/
890
 
 
891
 
"       flds    32(%%edx)\n\t"
892
 
"       fadds   48(%%edx)\n\t"
893
 
"       fistp  448(%%esi)\n\t"
894
 
 
895
 
"       flds   48(%%edx)\n\t"
896
 
"       fadds  40(%%edx)\n\t"
897
 
"       fistp 320(%%esi)\n\t"
898
 
 
899
 
"       flds   40(%%edx)\n\t"
900
 
"       fadds  56(%%edx)\n\t"
901
 
"       fistp 192(%%esi)\n\t"
902
 
 
903
 
"       flds   56(%%edx)\n\t"
904
 
"       fadds  36(%%edx)\n\t"
905
 
"       fistp  64(%%esi)\n\t"
906
 
 
907
 
"       flds   36(%%edx)\n\t"
908
 
"       fadds  52(%%edx)\n\t"
909
 
"       fistp  64(%%edi)\n\t"
910
 
 
911
 
"       flds   52(%%edx)\n\t"
912
 
"       fadds  44(%%edx)\n\t"
913
 
"       fistp 192(%%edi)\n\t"
914
 
 
915
 
"       flds   60(%%edx)\n\t"
916
 
"       fist   448(%%edi)\n\t"
917
 
"       fadds  44(%%edx)\n\t"
918
 
"       fistp 320(%%edi)\n\t"
919
 
 
920
 
"       flds   96(%%edx)\n\t"
921
 
"       fadds 112(%%edx)\n\t"
922
 
"       fld      %%st(0)\n\t"
923
 
"       fadds  64(%%edx)\n\t"
924
 
"       fistp 480(%%esi)\n\t"
925
 
"       fadds  80(%%edx)\n\t"
926
 
"       fistp 416(%%esi)\n\t"
927
 
 
928
 
"       flds  112(%%edx)\n\t"
929
 
"       fadds 104(%%edx)\n\t"
930
 
"       fld      %%st(0)\n\t"
931
 
"       fadds  80(%%edx)\n\t"
932
 
"       fistp 352(%%esi)\n\t"
933
 
"       fadds  72(%%edx)\n\t"
934
 
"       fistp 288(%%esi)\n\t"
935
 
 
936
 
"       flds  104(%%edx)\n\t"
937
 
"       fadds 120(%%edx)\n\t"
938
 
"       fld      %%st(0)\n\t"
939
 
"       fadds  72(%%edx)\n\t"
940
 
"       fistp 224(%%esi)\n\t"
941
 
"       fadds  88(%%edx)\n\t"
942
 
"       fistp 160(%%esi)\n\t"
943
 
 
944
 
"       flds  120(%%edx)\n\t"
945
 
"       fadds 100(%%edx)\n\t"
946
 
"       fld      %%st(0)\n\t"
947
 
"       fadds  88(%%edx)\n\t"
948
 
"       fistp  96(%%esi)\n\t"
949
 
"       fadds  68(%%edx)\n\t"
950
 
"       fistp  32(%%esi)\n\t"
951
 
 
952
 
"       flds  100(%%edx)\n\t"
953
 
"       fadds 116(%%edx)\n\t"
954
 
"       fld      %%st(0)\n\t"
955
 
"       fadds  68(%%edx)\n\t"
956
 
"       fistp  32(%%edi)\n\t"
957
 
"       fadds  84(%%edx)\n\t"
958
 
"       fistp  96(%%edi)\n\t"
959
 
 
960
 
"       flds  116(%%edx)\n\t"
961
 
"       fadds 108(%%edx)\n\t"
962
 
"       fld      %%st(0)\n\t"
963
 
"       fadds  84(%%edx)\n\t"
964
 
"       fistp 160(%%edi)\n\t"
965
 
"       fadds  76(%%edx)\n\t"
966
 
"       fistp 224(%%edi)\n\t"
967
 
 
968
 
"       flds  108(%%edx)\n\t"
969
 
"       fadds 124(%%edx)\n\t"
970
 
"       fld      %%st(0)\n\t"
971
 
"       fadds  76(%%edx)\n\t"
972
 
"       fistp 288(%%edi)\n\t"
973
 
"       fadds  92(%%edx)\n\t"
974
 
"       fistp 352(%%edi)\n\t"
975
 
 
976
 
"       flds  124(%%edx)\n\t"
977
 
"       fist  480(%%edi)\n\t"
978
 
"       fadds  92(%%edx)\n\t"
979
 
"       fistp 416(%%edi)\n\t"
980
 
"       movsw\n\t"
981
 
".L_bye:"
982
 
        :
983
 
        :"m"(a),"m"(b),"m"(c),"m"(tmp[0])
984
 
        :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi");
985
 
}