summaryrefslogtreecommitdiffstats
path: root/mp3lib/dct64_mmx.c
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-12-12 08:50:54 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-12-12 08:50:54 +0000
commitdf7795b63a4ea9008c9f208b3a9d584c7fe0bb00 (patch)
tree73f3b4d67393d03d22f565be52fb36fd03f4e7d4 /mp3lib/dct64_mmx.c
parent946f71f3aa64e8e3e07bc108abb6582e07f59412 (diff)
downloadmpv-df7795b63a4ea9008c9f208b3a9d584c7fe0bb00.tar.bz2
mpv-df7795b63a4ea9008c9f208b3a9d584c7fe0bb00.tar.xz
cosmetics: Remove ugly and inconsistent uppercasing from filenames.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25378 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mp3lib/dct64_mmx.c')
-rw-r--r--mp3lib/dct64_mmx.c985
1 files changed, 985 insertions, 0 deletions
diff --git a/mp3lib/dct64_mmx.c b/mp3lib/dct64_mmx.c
new file mode 100644
index 0000000000..2650ce6c37
--- /dev/null
+++ b/mp3lib/dct64_mmx.c
@@ -0,0 +1,985 @@
+/*
+* This code was taken from http://www.mpg123.org
+* See ChangeLog of mpg123-0.59s-pre.1 for detail
+* Applied to mplayer by Nick Kurshev <nickols_k@mail.ru>
+*/
+#include "mangle.h"
+#define real float /* ugly - but only way */
+
+void dct64_MMX(short *a,short *b,real *c)
+{
+ char tmp[256];
+ __asm __volatile(
+" movl %2,%%eax\n\t"
+/* Phase 1*/
+" flds (%%eax)\n\t"
+" leal 128+%3,%%edx\n\t"
+" fadds 124(%%eax)\n\t"
+" movl %0,%%esi\n\t"
+" fstps (%%edx)\n\t"
+" movl %1,%%edi\n\t"
+
+" flds 4(%%eax)\n\t"
+" movl $"MANGLE(costab_mmx)",%%ebx\n\t"
+" fadds 120(%%eax)\n\t"
+" orl %%ecx,%%ecx\n\t"
+" fstps 4(%%edx)\n\t"
+
+" flds (%%eax)\n\t"
+" leal %3,%%ecx\n\t"
+" fsubs 124(%%eax)\n\t"
+" fmuls (%%ebx)\n\t"
+" fstps 124(%%edx)\n\t"
+
+" flds 4(%%eax)\n\t"
+" fsubs 120(%%eax)\n\t"
+" fmuls 4(%%ebx)\n\t"
+" fstps 120(%%edx)\n\t"
+
+" flds 8(%%eax)\n\t"
+" fadds 116(%%eax)\n\t"
+" fstps 8(%%edx)\n\t"
+
+" flds 12(%%eax)\n\t"
+" fadds 112(%%eax)\n\t"
+" fstps 12(%%edx)\n\t"
+
+" flds 8(%%eax)\n\t"
+" fsubs 116(%%eax)\n\t"
+" fmuls 8(%%ebx)\n\t"
+" fstps 116(%%edx)\n\t"
+
+" flds 12(%%eax)\n\t"
+" fsubs 112(%%eax)\n\t"
+" fmuls 12(%%ebx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds 16(%%eax)\n\t"
+" fadds 108(%%eax)\n\t"
+" fstps 16(%%edx)\n\t"
+
+" flds 20(%%eax)\n\t"
+" fadds 104(%%eax)\n\t"
+" fstps 20(%%edx)\n\t"
+
+" flds 16(%%eax)\n\t"
+" fsubs 108(%%eax)\n\t"
+" fmuls 16(%%ebx)\n\t"
+" fstps 108(%%edx)\n\t"
+
+" flds 20(%%eax)\n\t"
+" fsubs 104(%%eax)\n\t"
+" fmuls 20(%%ebx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 24(%%eax)\n\t"
+" fadds 100(%%eax)\n\t"
+" fstps 24(%%edx)\n\t"
+
+" flds 28(%%eax)\n\t"
+" fadds 96(%%eax)\n\t"
+" fstps 28(%%edx)\n\t"
+
+" flds 24(%%eax)\n\t"
+" fsubs 100(%%eax)\n\t"
+" fmuls 24(%%ebx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 28(%%eax)\n\t"
+" fsubs 96(%%eax)\n\t"
+" fmuls 28(%%ebx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 32(%%eax)\n\t"
+" fadds 92(%%eax)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 36(%%eax)\n\t"
+" fadds 88(%%eax)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 32(%%eax)\n\t"
+" fsubs 92(%%eax)\n\t"
+" fmuls 32(%%ebx)\n\t"
+" fstps 92(%%edx)\n\t"
+
+" flds 36(%%eax)\n\t"
+" fsubs 88(%%eax)\n\t"
+" fmuls 36(%%ebx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 40(%%eax)\n\t"
+" fadds 84(%%eax)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 44(%%eax)\n\t"
+" fadds 80(%%eax)\n\t"
+" fstps 44(%%edx)\n\t"
+
+" flds 40(%%eax)\n\t"
+" fsubs 84(%%eax)\n\t"
+" fmuls 40(%%ebx)\n\t"
+" fstps 84(%%edx)\n\t"
+
+" flds 44(%%eax)\n\t"
+" fsubs 80(%%eax)\n\t"
+" fmuls 44(%%ebx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 48(%%eax)\n\t"
+" fadds 76(%%eax)\n\t"
+" fstps 48(%%edx)\n\t"
+
+" flds 52(%%eax)\n\t"
+" fadds 72(%%eax)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 48(%%eax)\n\t"
+" fsubs 76(%%eax)\n\t"
+" fmuls 48(%%ebx)\n\t"
+" fstps 76(%%edx)\n\t"
+
+" flds 52(%%eax)\n\t"
+" fsubs 72(%%eax)\n\t"
+" fmuls 52(%%ebx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 56(%%eax)\n\t"
+" fadds 68(%%eax)\n\t"
+" fstps 56(%%edx)\n\t"
+
+" flds 60(%%eax)\n\t"
+" fadds 64(%%eax)\n\t"
+" fstps 60(%%edx)\n\t"
+
+" flds 56(%%eax)\n\t"
+" fsubs 68(%%eax)\n\t"
+" fmuls 56(%%ebx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 60(%%eax)\n\t"
+" fsubs 64(%%eax)\n\t"
+" fmuls 60(%%ebx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+/* Phase 2*/
+
+" flds (%%edx)\n\t"
+" fadds 60(%%edx)\n\t"
+" fstps (%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 4(%%ecx)\n\t"
+
+" flds (%%edx)\n\t"
+" fsubs 60(%%edx)\n\t"
+" fmuls 64(%%ebx)\n\t"
+" fstps 60(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fsubs 56(%%edx)\n\t"
+" fmuls 68(%%ebx)\n\t"
+" fstps 56(%%ecx)\n\t"
+
+" flds 8(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fstps 8(%%ecx)\n\t"
+
+" flds 12(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fstps 12(%%ecx)\n\t"
+
+" flds 8(%%edx)\n\t"
+" fsubs 52(%%edx)\n\t"
+" fmuls 72(%%ebx)\n\t"
+" fstps 52(%%ecx)\n\t"
+
+" flds 12(%%edx)\n\t"
+" fsubs 48(%%edx)\n\t"
+" fmuls 76(%%ebx)\n\t"
+" fstps 48(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 16(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 20(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fsubs 44(%%edx)\n\t"
+" fmuls 80(%%ebx)\n\t"
+" fstps 44(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fsubs 40(%%edx)\n\t"
+" fmuls 84(%%ebx)\n\t"
+" fstps 40(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fstps 24(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fadds 32(%%edx)\n\t"
+" fstps 28(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fsubs 36(%%edx)\n\t"
+" fmuls 88(%%ebx)\n\t"
+" fstps 36(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fsubs 32(%%edx)\n\t"
+" fmuls 92(%%ebx)\n\t"
+" fstps 32(%%ecx)\n\t"
+
+/* Phase 3*/
+
+" flds 64(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 64(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fstps 68(%%ecx)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsubs 64(%%edx)\n\t"
+" fmuls 64(%%ebx)\n\t"
+" fstps 124(%%ecx)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fsubs 68(%%edx)\n\t"
+" fmuls 68(%%ebx)\n\t"
+" fstps 120(%%ecx)\n\t"
+
+" flds 72(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fstps 72(%%ecx)\n\t"
+
+" flds 76(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fstps 76(%%ecx)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fsubs 72(%%edx)\n\t"
+" fmuls 72(%%ebx)\n\t"
+" fstps 116(%%ecx)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fsubs 76(%%edx)\n\t"
+" fmuls 76(%%ebx)\n\t"
+" fstps 112(%%ecx)\n\t"
+
+" flds 80(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fstps 80(%%ecx)\n\t"
+
+" flds 84(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fstps 84(%%ecx)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fsubs 80(%%edx)\n\t"
+" fmuls 80(%%ebx)\n\t"
+" fstps 108(%%ecx)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fsubs 84(%%edx)\n\t"
+" fmuls 84(%%ebx)\n\t"
+" fstps 104(%%ecx)\n\t"
+
+" flds 88(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fstps 88(%%ecx)\n\t"
+
+" flds 92(%%edx)\n\t"
+" fadds 96(%%edx)\n\t"
+" fstps 92(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fsubs 88(%%edx)\n\t"
+" fmuls 88(%%ebx)\n\t"
+" fstps 100(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fsubs 92(%%edx)\n\t"
+" fmuls 92(%%ebx)\n\t"
+" fstps 96(%%ecx)\n\t"
+
+/* Phase 4*/
+
+" flds (%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fstps (%%edx)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 28(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 28(%%edx)\n\t"
+
+" flds 4(%%ecx)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fstps 4(%%edx)\n\t"
+
+" flds 4(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 24(%%edx)\n\t"
+
+" flds 8(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fstps 8(%%edx)\n\t"
+
+" flds 8(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 20(%%edx)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fstps 12(%%edx)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fsubs 16(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 16(%%edx)\n\t"
+
+" flds 32(%%ecx)\n\t"
+" fadds 60(%%ecx)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 60(%%ecx)\n\t"
+" fsubs 32(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 60(%%edx)\n\t"
+
+" flds 36(%%ecx)\n\t"
+" fadds 56(%%ecx)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 56(%%ecx)\n\t"
+" fsubs 36(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 56(%%edx)\n\t"
+
+" flds 40(%%ecx)\n\t"
+" fadds 52(%%ecx)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 52(%%ecx)\n\t"
+" fsubs 40(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 44(%%ecx)\n\t"
+" fadds 48(%%ecx)\n\t"
+" fstps 44(%%edx)\n\t"
+
+" flds 48(%%ecx)\n\t"
+" fsubs 44(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 48(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fadds 92(%%ecx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fsubs 92(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 92(%%edx)\n\t"
+
+" flds 68(%%ecx)\n\t"
+" fadds 88(%%ecx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 68(%%ecx)\n\t"
+" fsubs 88(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 72(%%ecx)\n\t"
+" fadds 84(%%ecx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 72(%%ecx)\n\t"
+" fsubs 84(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 84(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fadds 80(%%ecx)\n\t"
+" fstps 76(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fsubs 80(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fadds 124(%%ecx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 124(%%ecx)\n\t"
+" fsubs 96(%%ecx)\n\t"
+" fmuls 96(%%ebx)\n\t"
+" fstps 124(%%edx)\n\t"
+
+" flds 100(%%ecx)\n\t"
+" fadds 120(%%ecx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 120(%%ecx)\n\t"
+" fsubs 100(%%ecx)\n\t"
+" fmuls 100(%%ebx)\n\t"
+" fstps 120(%%edx)\n\t"
+
+" flds 104(%%ecx)\n\t"
+" fadds 116(%%ecx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 116(%%ecx)\n\t"
+" fsubs 104(%%ecx)\n\t"
+" fmuls 104(%%ebx)\n\t"
+" fstps 116(%%edx)\n\t"
+
+" flds 108(%%ecx)\n\t"
+" fadds 112(%%ecx)\n\t"
+" fstps 108(%%edx)\n\t"
+
+" flds 112(%%ecx)\n\t"
+" fsubs 108(%%ecx)\n\t"
+" fmuls 108(%%ebx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds (%%edx)\n\t"
+" fadds 12(%%edx)\n\t"
+" fstps (%%ecx)\n\t"
+
+" flds (%%edx)\n\t"
+" fsubs 12(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 12(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fadds 8(%%edx)\n\t"
+" fstps 4(%%ecx)\n\t"
+
+" flds 4(%%edx)\n\t"
+" fsubs 8(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 8(%%ecx)\n\t"
+
+" flds 16(%%edx)\n\t"
+" fadds 28(%%edx)\n\t"
+" fstps 16(%%ecx)\n\t"
+
+" flds 28(%%edx)\n\t"
+" fsubs 16(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 28(%%ecx)\n\t"
+
+" flds 20(%%edx)\n\t"
+" fadds 24(%%edx)\n\t"
+" fstps 20(%%ecx)\n\t"
+
+" flds 24(%%edx)\n\t"
+" fsubs 20(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 24(%%ecx)\n\t"
+
+" flds 32(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 32(%%ecx)\n\t"
+
+" flds 32(%%edx)\n\t"
+" fsubs 44(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 44(%%ecx)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 36(%%ecx)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fsubs 40(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 40(%%ecx)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 60(%%edx)\n\t"
+" fstps 48(%%ecx)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fsubs 48(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 60(%%ecx)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 52(%%ecx)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fsubs 52(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 56(%%ecx)\n\t"
+
+" flds 64(%%edx)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 64(%%ecx)\n\t"
+
+" flds 64(%%edx)\n\t"
+" fsubs 76(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 76(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 68(%%ecx)\n\t"
+
+" flds 68(%%edx)\n\t"
+" fsubs 72(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 72(%%ecx)\n\t"
+
+" flds 80(%%edx)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 80(%%ecx)\n\t"
+
+" flds 92(%%edx)\n\t"
+" fsubs 80(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 92(%%ecx)\n\t"
+
+" flds 84(%%edx)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 84(%%ecx)\n\t"
+
+" flds 88(%%edx)\n\t"
+" fsubs 84(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 88(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fstps 96(%%ecx)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fsubs 108(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 108(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fstps 100(%%ecx)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fsubs 104(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 104(%%ecx)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 112(%%ecx)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsubs 112(%%edx)\n\t"
+" fmuls 112(%%ebx)\n\t"
+" fstps 124(%%ecx)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fstps 116(%%ecx)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fsubs 116(%%edx)\n\t"
+" fmuls 116(%%ebx)\n\t"
+" fstps 120(%%ecx)\n\t"
+
+/* Phase 5*/
+
+" flds 32(%%ecx)\n\t"
+" fadds 36(%%ecx)\n\t"
+" fstps 32(%%edx)\n\t"
+
+" flds 32(%%ecx)\n\t"
+" fsubs 36(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 36(%%edx)\n\t"
+
+" flds 44(%%ecx)\n\t"
+" fsubs 40(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 44(%%edx)\n\t"
+" fadds 40(%%ecx)\n\t"
+" fadds 44(%%ecx)\n\t"
+" fstps 40(%%edx)\n\t"
+
+" flds 48(%%ecx)\n\t"
+" fsubs 52(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 60(%%ecx)\n\t"
+" fsubs 56(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 56(%%ecx)\n\t"
+" fadds 60(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 48(%%ecx)\n\t"
+" fadds 52(%%ecx)\n\t"
+" fstps 48(%%edx)\n\t"
+" fadd %%st(2)\n\t"
+" fstps 56(%%edx)\n\t"
+" fsts 60(%%edx)\n\t"
+" faddp %%st(1)\n\t"
+" fstps 52(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fadds 68(%%ecx)\n\t"
+" fstps 64(%%edx)\n\t"
+
+" flds 64(%%ecx)\n\t"
+" fsubs 68(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 68(%%edx)\n\t"
+
+" flds 76(%%ecx)\n\t"
+" fsubs 72(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 76(%%edx)\n\t"
+" fadds 72(%%ecx)\n\t"
+" fadds 76(%%ecx)\n\t"
+" fstps 72(%%edx)\n\t"
+
+" flds 92(%%ecx)\n\t"
+" fsubs 88(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 92(%%edx)\n\t"
+" fadds 92(%%ecx)\n\t"
+" fadds 88(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%ecx)\n\t"
+" fadds 84(%%ecx)\n\t"
+" fstps 80(%%edx)\n\t"
+
+" flds 80(%%ecx)\n\t"
+" fsubs 84(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fadd %%st(0), %%st(1)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 84(%%edx)\n\t"
+" fstps 88(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fadds 100(%%ecx)\n\t"
+" fstps 96(%%edx)\n\t"
+
+" flds 96(%%ecx)\n\t"
+" fsubs 100(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fstps 100(%%edx)\n\t"
+
+" flds 108(%%ecx)\n\t"
+" fsubs 104(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 108(%%edx)\n\t"
+" fadds 104(%%ecx)\n\t"
+" fadds 108(%%ecx)\n\t"
+" fstps 104(%%edx)\n\t"
+
+" flds 124(%%ecx)\n\t"
+" fsubs 120(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 124(%%edx)\n\t"
+" fadds 120(%%ecx)\n\t"
+" fadds 124(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 112(%%ecx)\n\t"
+" fadds 116(%%ecx)\n\t"
+" fstps 112(%%edx)\n\t"
+
+" flds 112(%%ecx)\n\t"
+" fsubs 116(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fadd %%st(0),%%st(1)\n\t"
+" fadds 124(%%edx)\n\t"
+" fstps 116(%%edx)\n\t"
+" fstps 120(%%edx)\n\t"
+" jnz .L01\n\t"
+
+/* Phase 6*/
+
+" flds (%%ecx)\n\t"
+" fadds 4(%%ecx)\n\t"
+" fstps 1024(%%esi)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 4(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts (%%esi)\n\t"
+" fstps (%%edi)\n\t"
+
+" flds 12(%%ecx)\n\t"
+" fsubs 8(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 512(%%edi)\n\t"
+" fadds 12(%%ecx)\n\t"
+" fadds 8(%%ecx)\n\t"
+" fstps 512(%%esi)\n\t"
+
+" flds 16(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 28(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fsts 768(%%edi)\n\t"
+" fld %%st(0)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fstps 768(%%esi)\n\t"
+" fadd %%st(2)\n\t"
+" fstps 256(%%esi)\n\t"
+" faddp %%st(1)\n\t"
+" fstps 256(%%edi)\n\t"
+
+/* Phase 7*/
+
+" flds 32(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fstps 896(%%esi)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fstps 640(%%esi)\n\t"
+
+" flds 40(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fstps 384(%%esi)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fstps 128(%%esi)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fstps 128(%%edi)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 384(%%edi)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fsts 896(%%edi)\n\t"
+" fadds 44(%%edx)\n\t"
+" fstps 640(%%edi)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 64(%%edx)\n\t"
+" fstps 960(%%esi)\n\t"
+" fadds 80(%%edx)\n\t"
+" fstps 832(%%esi)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%edx)\n\t"
+" fstps 704(%%esi)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 576(%%esi)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 72(%%edx)\n\t"
+" fstps 448(%%esi)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 320(%%esi)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 88(%%edx)\n\t"
+" fstps 192(%%esi)\n\t"
+" fadds 68(%%edx)\n\t"
+" fstps 64(%%esi)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 68(%%edx)\n\t"
+" fstps 64(%%edi)\n\t"
+" fadds 84(%%edx)\n\t"
+" fstps 192(%%edi)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 84(%%edx)\n\t"
+" fstps 320(%%edi)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 448(%%edi)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 76(%%edx)\n\t"
+" fstps 576(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 704(%%edi)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fsts 960(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fstps 832(%%edi)\n\t"
+" jmp .L_bye\n\t"
+".L01:\n\t"
+/* Phase 8*/
+
+" flds (%%ecx)\n\t"
+" fadds 4(%%ecx)\n\t"
+" fistp 512(%%esi)\n\t"
+
+" flds (%%ecx)\n\t"
+" fsubs 4(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" fistp (%%esi)\n\t"
+
+
+" flds 12(%%ecx)\n\t"
+" fsubs 8(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fist 256(%%edi)\n\t"
+" fadds 12(%%ecx)\n\t"
+" fadds 8(%%ecx)\n\t"
+" fistp 256(%%esi)\n\t"
+
+" flds 16(%%ecx)\n\t"
+" fsubs 20(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+
+" flds 28(%%ecx)\n\t"
+" fsubs 24(%%ecx)\n\t"
+" fmuls 120(%%ebx)\n\t"
+" fist 384(%%edi)\n\t"
+" fld %%st(0)\n\t"
+" fadds 24(%%ecx)\n\t"
+" fadds 28(%%ecx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 16(%%ecx)\n\t"
+" fadds 20(%%ecx)\n\t"
+" fistp 384(%%esi)\n\t"
+" fadd %%st(2)\n\t"
+" fistp 128(%%esi)\n\t"
+" faddp %%st(1)\n\t"
+" fistp 128(%%edi)\n\t"
+
+/* Phase 9*/
+
+" flds 32(%%edx)\n\t"
+" fadds 48(%%edx)\n\t"
+" fistp 448(%%esi)\n\t"
+
+" flds 48(%%edx)\n\t"
+" fadds 40(%%edx)\n\t"
+" fistp 320(%%esi)\n\t"
+
+" flds 40(%%edx)\n\t"
+" fadds 56(%%edx)\n\t"
+" fistp 192(%%esi)\n\t"
+
+" flds 56(%%edx)\n\t"
+" fadds 36(%%edx)\n\t"
+" fistp 64(%%esi)\n\t"
+
+" flds 36(%%edx)\n\t"
+" fadds 52(%%edx)\n\t"
+" fistp 64(%%edi)\n\t"
+
+" flds 52(%%edx)\n\t"
+" fadds 44(%%edx)\n\t"
+" fistp 192(%%edi)\n\t"
+
+" flds 60(%%edx)\n\t"
+" fist 448(%%edi)\n\t"
+" fadds 44(%%edx)\n\t"
+" fistp 320(%%edi)\n\t"
+
+" flds 96(%%edx)\n\t"
+" fadds 112(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 64(%%edx)\n\t"
+" fistp 480(%%esi)\n\t"
+" fadds 80(%%edx)\n\t"
+" fistp 416(%%esi)\n\t"
+
+" flds 112(%%edx)\n\t"
+" fadds 104(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 80(%%edx)\n\t"
+" fistp 352(%%esi)\n\t"
+" fadds 72(%%edx)\n\t"
+" fistp 288(%%esi)\n\t"
+
+" flds 104(%%edx)\n\t"
+" fadds 120(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 72(%%edx)\n\t"
+" fistp 224(%%esi)\n\t"
+" fadds 88(%%edx)\n\t"
+" fistp 160(%%esi)\n\t"
+
+" flds 120(%%edx)\n\t"
+" fadds 100(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 88(%%edx)\n\t"
+" fistp 96(%%esi)\n\t"
+" fadds 68(%%edx)\n\t"
+" fistp 32(%%esi)\n\t"
+
+" flds 100(%%edx)\n\t"
+" fadds 116(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 68(%%edx)\n\t"
+" fistp 32(%%edi)\n\t"
+" fadds 84(%%edx)\n\t"
+" fistp 96(%%edi)\n\t"
+
+" flds 116(%%edx)\n\t"
+" fadds 108(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 84(%%edx)\n\t"
+" fistp 160(%%edi)\n\t"
+" fadds 76(%%edx)\n\t"
+" fistp 224(%%edi)\n\t"
+
+" flds 108(%%edx)\n\t"
+" fadds 124(%%edx)\n\t"
+" fld %%st(0)\n\t"
+" fadds 76(%%edx)\n\t"
+" fistp 288(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fistp 352(%%edi)\n\t"
+
+" flds 124(%%edx)\n\t"
+" fist 480(%%edi)\n\t"
+" fadds 92(%%edx)\n\t"
+" fistp 416(%%edi)\n\t"
+" movsw\n\t"
+".L_bye:"
+ :
+ :"m"(a),"m"(b),"m"(c),"m"(tmp[0])
+ :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi");
+}