1
mirror of https://github.com/mpv-player/mpv synced 2024-10-22 08:51:57 +02:00
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4166 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nick 2002-01-15 09:01:39 +00:00
parent 5f3109cf12
commit f7c8f64850
3 changed files with 989 additions and 993 deletions

View File

@ -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)

988
mp3lib/dct64_MMX.c Normal file
View File

@ -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 <nickols_k@mail.ru>
*/
#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");
}

View File

@ -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 <nickols_k@mail.ru>
#
.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