diff --git a/mp3lib/Makefile b/mp3lib/Makefile index 6958da0b17..64e7204976 100644 --- a/mp3lib/Makefile +++ b/mp3lib/Makefile @@ -12,7 +12,7 @@ ifeq ($(TARGET_ARCH_X86),yes) SRCS += d_cpu.s decode_i586.c OBJS += d_cpu.o decode_i586.o ifeq ($(TARGET_MMX),yes) -SRCS += decode_MMX.c dct64_MMX.s tabinit_MMX.c +SRCS += decode_MMX.c dct64_MMX.c tabinit_MMX.c OBJS += decode_MMX.o dct64_MMX.o tabinit_MMX.o endif #ifeq ($(TARGET_SSE),yes) diff --git a/mp3lib/dct64_MMX.c b/mp3lib/dct64_MMX.c new file mode 100644 index 0000000000..79618a3c9e --- /dev/null +++ b/mp3lib/dct64_MMX.c @@ -0,0 +1,988 @@ +/* +* 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 +*/ +#define real float /* ugly - but only way */ + +void __attribute__ (( __stdcall__ )) dct64_MMX(real *a,real *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 $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" +" addl $256,%%esp\n\t" +" popl %%edi\n\t" +" popl %%esi\n\t" +" popl %%ebx\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","%ebx","%esi","%edi"); +} diff --git a/mp3lib/dct64_MMX.s b/mp3lib/dct64_MMX.s deleted file mode 100644 index 9f3ce21fb5..0000000000 --- a/mp3lib/dct64_MMX.s +++ /dev/null @@ -1,992 +0,0 @@ -# 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 -# - -.text - - .align 16 - -.globl dct64_MMX -dct64_MMX: - pushl %ebx - pushl %esi - pushl %edi - subl $256,%esp - movl 280(%esp),%eax -/* Phase 1*/ - flds (%eax) - leal 128(%esp),%edx - fadds 124(%eax) - movl 272(%esp),%esi - fstps (%edx) - movl 276(%esp),%edi - - flds 4(%eax) - movl $costab_mmx,%ebx - fadds 120(%eax) - orl %ecx,%ecx - fstps 4(%edx) - - flds (%eax) - movl %esp,%ecx - fsubs 124(%eax) - fmuls (%ebx) - fstps 124(%edx) - - flds 4(%eax) - fsubs 120(%eax) - fmuls 4(%ebx) - fstps 120(%edx) - - flds 8(%eax) - fadds 116(%eax) - fstps 8(%edx) - - flds 12(%eax) - fadds 112(%eax) - fstps 12(%edx) - - flds 8(%eax) - fsubs 116(%eax) - fmuls 8(%ebx) - fstps 116(%edx) - - flds 12(%eax) - fsubs 112(%eax) - fmuls 12(%ebx) - fstps 112(%edx) - - flds 16(%eax) - fadds 108(%eax) - fstps 16(%edx) - - flds 20(%eax) - fadds 104(%eax) - fstps 20(%edx) - - flds 16(%eax) - fsubs 108(%eax) - fmuls 16(%ebx) - fstps 108(%edx) - - flds 20(%eax) - fsubs 104(%eax) - fmuls 20(%ebx) - fstps 104(%edx) - - flds 24(%eax) - fadds 100(%eax) - fstps 24(%edx) - - flds 28(%eax) - fadds 96(%eax) - fstps 28(%edx) - - flds 24(%eax) - fsubs 100(%eax) - fmuls 24(%ebx) - fstps 100(%edx) - - flds 28(%eax) - fsubs 96(%eax) - fmuls 28(%ebx) - fstps 96(%edx) - - flds 32(%eax) - fadds 92(%eax) - fstps 32(%edx) - - flds 36(%eax) - fadds 88(%eax) - fstps 36(%edx) - - flds 32(%eax) - fsubs 92(%eax) - fmuls 32(%ebx) - fstps 92(%edx) - - flds 36(%eax) - fsubs 88(%eax) - fmuls 36(%ebx) - fstps 88(%edx) - - flds 40(%eax) - fadds 84(%eax) - fstps 40(%edx) - - flds 44(%eax) - fadds 80(%eax) - fstps 44(%edx) - - flds 40(%eax) - fsubs 84(%eax) - fmuls 40(%ebx) - fstps 84(%edx) - - flds 44(%eax) - fsubs 80(%eax) - fmuls 44(%ebx) - fstps 80(%edx) - - flds 48(%eax) - fadds 76(%eax) - fstps 48(%edx) - - flds 52(%eax) - fadds 72(%eax) - fstps 52(%edx) - - flds 48(%eax) - fsubs 76(%eax) - fmuls 48(%ebx) - fstps 76(%edx) - - flds 52(%eax) - fsubs 72(%eax) - fmuls 52(%ebx) - fstps 72(%edx) - - flds 56(%eax) - fadds 68(%eax) - fstps 56(%edx) - - flds 60(%eax) - fadds 64(%eax) - fstps 60(%edx) - - flds 56(%eax) - fsubs 68(%eax) - fmuls 56(%ebx) - fstps 68(%edx) - - flds 60(%eax) - fsubs 64(%eax) - fmuls 60(%ebx) - fstps 64(%edx) - -/* Phase 2*/ - - flds (%edx) - fadds 60(%edx) - fstps (%ecx) - - flds 4(%edx) - fadds 56(%edx) - fstps 4(%ecx) - - flds (%edx) - fsubs 60(%edx) - fmuls 64(%ebx) - fstps 60(%ecx) - - flds 4(%edx) - fsubs 56(%edx) - fmuls 68(%ebx) - fstps 56(%ecx) - - flds 8(%edx) - fadds 52(%edx) - fstps 8(%ecx) - - flds 12(%edx) - fadds 48(%edx) - fstps 12(%ecx) - - flds 8(%edx) - fsubs 52(%edx) - fmuls 72(%ebx) - fstps 52(%ecx) - - flds 12(%edx) - fsubs 48(%edx) - fmuls 76(%ebx) - fstps 48(%ecx) - - flds 16(%edx) - fadds 44(%edx) - fstps 16(%ecx) - - flds 20(%edx) - fadds 40(%edx) - fstps 20(%ecx) - - flds 16(%edx) - fsubs 44(%edx) - fmuls 80(%ebx) - fstps 44(%ecx) - - flds 20(%edx) - fsubs 40(%edx) - fmuls 84(%ebx) - fstps 40(%ecx) - - flds 24(%edx) - fadds 36(%edx) - fstps 24(%ecx) - - flds 28(%edx) - fadds 32(%edx) - fstps 28(%ecx) - - flds 24(%edx) - fsubs 36(%edx) - fmuls 88(%ebx) - fstps 36(%ecx) - - flds 28(%edx) - fsubs 32(%edx) - fmuls 92(%ebx) - fstps 32(%ecx) - -/* Phase 3*/ - - flds 64(%edx) - fadds 124(%edx) - fstps 64(%ecx) - - flds 68(%edx) - fadds 120(%edx) - fstps 68(%ecx) - - flds 124(%edx) - fsubs 64(%edx) - fmuls 64(%ebx) - fstps 124(%ecx) - - flds 120(%edx) - fsubs 68(%edx) - fmuls 68(%ebx) - fstps 120(%ecx) - - flds 72(%edx) - fadds 116(%edx) - fstps 72(%ecx) - - flds 76(%edx) - fadds 112(%edx) - fstps 76(%ecx) - - flds 116(%edx) - fsubs 72(%edx) - fmuls 72(%ebx) - fstps 116(%ecx) - - flds 112(%edx) - fsubs 76(%edx) - fmuls 76(%ebx) - fstps 112(%ecx) - - flds 80(%edx) - fadds 108(%edx) - fstps 80(%ecx) - - flds 84(%edx) - fadds 104(%edx) - fstps 84(%ecx) - - flds 108(%edx) - fsubs 80(%edx) - fmuls 80(%ebx) - fstps 108(%ecx) - - flds 104(%edx) - fsubs 84(%edx) - fmuls 84(%ebx) - fstps 104(%ecx) - - flds 88(%edx) - fadds 100(%edx) - fstps 88(%ecx) - - flds 92(%edx) - fadds 96(%edx) - fstps 92(%ecx) - - flds 100(%edx) - fsubs 88(%edx) - fmuls 88(%ebx) - fstps 100(%ecx) - - flds 96(%edx) - fsubs 92(%edx) - fmuls 92(%ebx) - fstps 96(%ecx) - -/* Phase 4*/ - - flds (%ecx) - fadds 28(%ecx) - fstps (%edx) - - flds (%ecx) - fsubs 28(%ecx) - fmuls 96(%ebx) - fstps 28(%edx) - - flds 4(%ecx) - fadds 24(%ecx) - fstps 4(%edx) - - flds 4(%ecx) - fsubs 24(%ecx) - fmuls 100(%ebx) - fstps 24(%edx) - - flds 8(%ecx) - fadds 20(%ecx) - fstps 8(%edx) - - flds 8(%ecx) - fsubs 20(%ecx) - fmuls 104(%ebx) - fstps 20(%edx) - - flds 12(%ecx) - fadds 16(%ecx) - fstps 12(%edx) - - flds 12(%ecx) - fsubs 16(%ecx) - fmuls 108(%ebx) - fstps 16(%edx) - - flds 32(%ecx) - fadds 60(%ecx) - fstps 32(%edx) - - flds 60(%ecx) - fsubs 32(%ecx) - fmuls 96(%ebx) - fstps 60(%edx) - - flds 36(%ecx) - fadds 56(%ecx) - fstps 36(%edx) - - flds 56(%ecx) - fsubs 36(%ecx) - fmuls 100(%ebx) - fstps 56(%edx) - - flds 40(%ecx) - fadds 52(%ecx) - fstps 40(%edx) - - flds 52(%ecx) - fsubs 40(%ecx) - fmuls 104(%ebx) - fstps 52(%edx) - - flds 44(%ecx) - fadds 48(%ecx) - fstps 44(%edx) - - flds 48(%ecx) - fsubs 44(%ecx) - fmuls 108(%ebx) - fstps 48(%edx) - - flds 64(%ecx) - fadds 92(%ecx) - fstps 64(%edx) - - flds 64(%ecx) - fsubs 92(%ecx) - fmuls 96(%ebx) - fstps 92(%edx) - - flds 68(%ecx) - fadds 88(%ecx) - fstps 68(%edx) - - flds 68(%ecx) - fsubs 88(%ecx) - fmuls 100(%ebx) - fstps 88(%edx) - - flds 72(%ecx) - fadds 84(%ecx) - fstps 72(%edx) - - flds 72(%ecx) - fsubs 84(%ecx) - fmuls 104(%ebx) - fstps 84(%edx) - - flds 76(%ecx) - fadds 80(%ecx) - fstps 76(%edx) - - flds 76(%ecx) - fsubs 80(%ecx) - fmuls 108(%ebx) - fstps 80(%edx) - - flds 96(%ecx) - fadds 124(%ecx) - fstps 96(%edx) - - flds 124(%ecx) - fsubs 96(%ecx) - fmuls 96(%ebx) - fstps 124(%edx) - - flds 100(%ecx) - fadds 120(%ecx) - fstps 100(%edx) - - flds 120(%ecx) - fsubs 100(%ecx) - fmuls 100(%ebx) - fstps 120(%edx) - - flds 104(%ecx) - fadds 116(%ecx) - fstps 104(%edx) - - flds 116(%ecx) - fsubs 104(%ecx) - fmuls 104(%ebx) - fstps 116(%edx) - - flds 108(%ecx) - fadds 112(%ecx) - fstps 108(%edx) - - flds 112(%ecx) - fsubs 108(%ecx) - fmuls 108(%ebx) - fstps 112(%edx) - - flds (%edx) - fadds 12(%edx) - fstps (%ecx) - - flds (%edx) - fsubs 12(%edx) - fmuls 112(%ebx) - fstps 12(%ecx) - - flds 4(%edx) - fadds 8(%edx) - fstps 4(%ecx) - - flds 4(%edx) - fsubs 8(%edx) - fmuls 116(%ebx) - fstps 8(%ecx) - - flds 16(%edx) - fadds 28(%edx) - fstps 16(%ecx) - - flds 28(%edx) - fsubs 16(%edx) - fmuls 112(%ebx) - fstps 28(%ecx) - - flds 20(%edx) - fadds 24(%edx) - fstps 20(%ecx) - - flds 24(%edx) - fsubs 20(%edx) - fmuls 116(%ebx) - fstps 24(%ecx) - - flds 32(%edx) - fadds 44(%edx) - fstps 32(%ecx) - - flds 32(%edx) - fsubs 44(%edx) - fmuls 112(%ebx) - fstps 44(%ecx) - - flds 36(%edx) - fadds 40(%edx) - fstps 36(%ecx) - - flds 36(%edx) - fsubs 40(%edx) - fmuls 116(%ebx) - fstps 40(%ecx) - - flds 48(%edx) - fadds 60(%edx) - fstps 48(%ecx) - - flds 60(%edx) - fsubs 48(%edx) - fmuls 112(%ebx) - fstps 60(%ecx) - - flds 52(%edx) - fadds 56(%edx) - fstps 52(%ecx) - - flds 56(%edx) - fsubs 52(%edx) - fmuls 116(%ebx) - fstps 56(%ecx) - - flds 64(%edx) - fadds 76(%edx) - fstps 64(%ecx) - - flds 64(%edx) - fsubs 76(%edx) - fmuls 112(%ebx) - fstps 76(%ecx) - - flds 68(%edx) - fadds 72(%edx) - fstps 68(%ecx) - - flds 68(%edx) - fsubs 72(%edx) - fmuls 116(%ebx) - fstps 72(%ecx) - - flds 80(%edx) - fadds 92(%edx) - fstps 80(%ecx) - - flds 92(%edx) - fsubs 80(%edx) - fmuls 112(%ebx) - fstps 92(%ecx) - - flds 84(%edx) - fadds 88(%edx) - fstps 84(%ecx) - - flds 88(%edx) - fsubs 84(%edx) - fmuls 116(%ebx) - fstps 88(%ecx) - - flds 96(%edx) - fadds 108(%edx) - fstps 96(%ecx) - - flds 96(%edx) - fsubs 108(%edx) - fmuls 112(%ebx) - fstps 108(%ecx) - - flds 100(%edx) - fadds 104(%edx) - fstps 100(%ecx) - - flds 100(%edx) - fsubs 104(%edx) - fmuls 116(%ebx) - fstps 104(%ecx) - - flds 112(%edx) - fadds 124(%edx) - fstps 112(%ecx) - - flds 124(%edx) - fsubs 112(%edx) - fmuls 112(%ebx) - fstps 124(%ecx) - - flds 116(%edx) - fadds 120(%edx) - fstps 116(%ecx) - - flds 120(%edx) - fsubs 116(%edx) - fmuls 116(%ebx) - fstps 120(%ecx) - -/* Phase 5*/ - - flds 32(%ecx) - fadds 36(%ecx) - fstps 32(%edx) - - flds 32(%ecx) - fsubs 36(%ecx) - fmuls 120(%ebx) - fstps 36(%edx) - - flds 44(%ecx) - fsubs 40(%ecx) - fmuls 120(%ebx) - fsts 44(%edx) - fadds 40(%ecx) - fadds 44(%ecx) - fstps 40(%edx) - - flds 48(%ecx) - fsubs 52(%ecx) - fmuls 120(%ebx) - - flds 60(%ecx) - fsubs 56(%ecx) - fmuls 120(%ebx) - fld %st(0) - fadds 56(%ecx) - fadds 60(%ecx) - fld %st(0) - fadds 48(%ecx) - fadds 52(%ecx) - fstps 48(%edx) - fadd %st(2) - fstps 56(%edx) - fsts 60(%edx) - faddp %st(1) - fstps 52(%edx) - - flds 64(%ecx) - fadds 68(%ecx) - fstps 64(%edx) - - flds 64(%ecx) - fsubs 68(%ecx) - fmuls 120(%ebx) - fstps 68(%edx) - - flds 76(%ecx) - fsubs 72(%ecx) - fmuls 120(%ebx) - fsts 76(%edx) - fadds 72(%ecx) - fadds 76(%ecx) - fstps 72(%edx) - - flds 92(%ecx) - fsubs 88(%ecx) - fmuls 120(%ebx) - fsts 92(%edx) - fadds 92(%ecx) - fadds 88(%ecx) - fld %st(0) - fadds 80(%ecx) - fadds 84(%ecx) - fstps 80(%edx) - - flds 80(%ecx) - fsubs 84(%ecx) - fmuls 120(%ebx) - fadd %st(0), %st(1) - fadds 92(%edx) - fstps 84(%edx) - fstps 88(%edx) - - flds 96(%ecx) - fadds 100(%ecx) - fstps 96(%edx) - - flds 96(%ecx) - fsubs 100(%ecx) - fmuls 120(%ebx) - fstps 100(%edx) - - flds 108(%ecx) - fsubs 104(%ecx) - fmuls 120(%ebx) - fsts 108(%edx) - fadds 104(%ecx) - fadds 108(%ecx) - fstps 104(%edx) - - flds 124(%ecx) - fsubs 120(%ecx) - fmuls 120(%ebx) - fsts 124(%edx) - fadds 120(%ecx) - fadds 124(%ecx) - fld %st(0) - fadds 112(%ecx) - fadds 116(%ecx) - fstps 112(%edx) - - flds 112(%ecx) - fsubs 116(%ecx) - fmuls 120(%ebx) - fadd %st(0),%st(1) - fadds 124(%edx) - fstps 116(%edx) - fstps 120(%edx) - jnz .L01 - -/* Phase 6*/ - - flds (%ecx) - fadds 4(%ecx) - fstps 1024(%esi) - - flds (%ecx) - fsubs 4(%ecx) - fmuls 120(%ebx) - fsts (%esi) - fstps (%edi) - - flds 12(%ecx) - fsubs 8(%ecx) - fmuls 120(%ebx) - fsts 512(%edi) - fadds 12(%ecx) - fadds 8(%ecx) - fstps 512(%esi) - - flds 16(%ecx) - fsubs 20(%ecx) - fmuls 120(%ebx) - - flds 28(%ecx) - fsubs 24(%ecx) - fmuls 120(%ebx) - fsts 768(%edi) - fld %st(0) - fadds 24(%ecx) - fadds 28(%ecx) - fld %st(0) - fadds 16(%ecx) - fadds 20(%ecx) - fstps 768(%esi) - fadd %st(2) - fstps 256(%esi) - faddp %st(1) - fstps 256(%edi) - -/* Phase 7*/ - - flds 32(%edx) - fadds 48(%edx) - fstps 896(%esi) - - flds 48(%edx) - fadds 40(%edx) - fstps 640(%esi) - - flds 40(%edx) - fadds 56(%edx) - fstps 384(%esi) - - flds 56(%edx) - fadds 36(%edx) - fstps 128(%esi) - - flds 36(%edx) - fadds 52(%edx) - fstps 128(%edi) - - flds 52(%edx) - fadds 44(%edx) - fstps 384(%edi) - - flds 60(%edx) - fsts 896(%edi) - fadds 44(%edx) - fstps 640(%edi) - - flds 96(%edx) - fadds 112(%edx) - fld %st(0) - fadds 64(%edx) - fstps 960(%esi) - fadds 80(%edx) - fstps 832(%esi) - - flds 112(%edx) - fadds 104(%edx) - fld %st(0) - fadds 80(%edx) - fstps 704(%esi) - fadds 72(%edx) - fstps 576(%esi) - - flds 104(%edx) - fadds 120(%edx) - fld %st(0) - fadds 72(%edx) - fstps 448(%esi) - fadds 88(%edx) - fstps 320(%esi) - - flds 120(%edx) - fadds 100(%edx) - fld %st(0) - fadds 88(%edx) - fstps 192(%esi) - fadds 68(%edx) - fstps 64(%esi) - - flds 100(%edx) - fadds 116(%edx) - fld %st(0) - fadds 68(%edx) - fstps 64(%edi) - fadds 84(%edx) - fstps 192(%edi) - - flds 116(%edx) - fadds 108(%edx) - fld %st(0) - fadds 84(%edx) - fstps 320(%edi) - fadds 76(%edx) - fstps 448(%edi) - - flds 108(%edx) - fadds 124(%edx) - fld %st(0) - fadds 76(%edx) - fstps 576(%edi) - fadds 92(%edx) - fstps 704(%edi) - - flds 124(%edx) - fsts 960(%edi) - fadds 92(%edx) - fstps 832(%edi) - addl $256,%esp - popl %edi - popl %esi - popl %ebx - ret -.L01: -/* Phase 8*/ - - flds (%ecx) - fadds 4(%ecx) - fistp 512(%esi) - - flds (%ecx) - fsubs 4(%ecx) - fmuls 120(%ebx) - - fistp (%esi) - - - flds 12(%ecx) - fsubs 8(%ecx) - fmuls 120(%ebx) - fist 256(%edi) - fadds 12(%ecx) - fadds 8(%ecx) - fistp 256(%esi) - - flds 16(%ecx) - fsubs 20(%ecx) - fmuls 120(%ebx) - - flds 28(%ecx) - fsubs 24(%ecx) - fmuls 120(%ebx) - fist 384(%edi) - fld %st(0) - fadds 24(%ecx) - fadds 28(%ecx) - fld %st(0) - fadds 16(%ecx) - fadds 20(%ecx) - fistp 384(%esi) - fadd %st(2) - fistp 128(%esi) - faddp %st(1) - fistp 128(%edi) - -/* Phase 9*/ - - flds 32(%edx) - fadds 48(%edx) - fistp 448(%esi) - - flds 48(%edx) - fadds 40(%edx) - fistp 320(%esi) - - flds 40(%edx) - fadds 56(%edx) - fistp 192(%esi) - - flds 56(%edx) - fadds 36(%edx) - fistp 64(%esi) - - flds 36(%edx) - fadds 52(%edx) - fistp 64(%edi) - - flds 52(%edx) - fadds 44(%edx) - fistp 192(%edi) - - flds 60(%edx) - fist 448(%edi) - fadds 44(%edx) - fistp 320(%edi) - - flds 96(%edx) - fadds 112(%edx) - fld %st(0) - fadds 64(%edx) - fistp 480(%esi) - fadds 80(%edx) - fistp 416(%esi) - - flds 112(%edx) - fadds 104(%edx) - fld %st(0) - fadds 80(%edx) - fistp 352(%esi) - fadds 72(%edx) - fistp 288(%esi) - - flds 104(%edx) - fadds 120(%edx) - fld %st(0) - fadds 72(%edx) - fistp 224(%esi) - fadds 88(%edx) - fistp 160(%esi) - - flds 120(%edx) - fadds 100(%edx) - fld %st(0) - fadds 88(%edx) - fistp 96(%esi) - fadds 68(%edx) - fistp 32(%esi) - - flds 100(%edx) - fadds 116(%edx) - fld %st(0) - fadds 68(%edx) - fistp 32(%edi) - fadds 84(%edx) - fistp 96(%edi) - - flds 116(%edx) - fadds 108(%edx) - fld %st(0) - fadds 84(%edx) - fistp 160(%edi) - fadds 76(%edx) - fistp 224(%edi) - - flds 108(%edx) - fadds 124(%edx) - fld %st(0) - fadds 76(%edx) - fistp 288(%edi) - fadds 92(%edx) - fistp 352(%edi) - - flds 124(%edx) - fist 480(%edi) - fadds 92(%edx) - fistp 416(%edi) - movsw - addl $256,%esp - popl %edi - popl %esi - popl %ebx - ret $12