Mercurial > mplayer.hg
comparison mp3lib/decode_i586.c @ 4246:3f677202418b
mangling in mp3lib + stdcall undefined fix with cygwin
author | atmos4 |
---|---|
date | Sat, 19 Jan 2002 04:47:32 +0000 |
parents | 4bbdda22003d |
children | 60fe896e437c |
comparison
equal
deleted
inserted
replaced
4245:27cb0e43de32 | 4246:3f677202418b |
---|---|
21 * | 21 * |
22 * Stefan Bieschewski <stb@acm.org> | 22 * Stefan Bieschewski <stb@acm.org> |
23 * | 23 * |
24 * $Id$ | 24 * $Id$ |
25 */ | 25 */ |
26 #include "../mangle.h" | |
26 #define real float /* ugly - but only way */ | 27 #define real float /* ugly - but only way */ |
27 | 28 |
28 static long buffs[1088]; | 29 static long buffs[1088]; |
29 static long bo=1; | 30 static long bo=1; |
30 | 31 |
34 register int retval; | 35 register int retval; |
35 __asm __volatile( | 36 __asm __volatile( |
36 " movl %1,%%eax\n\t"/*bandPtr*/ | 37 " movl %1,%%eax\n\t"/*bandPtr*/ |
37 " movl %3,%%esi\n\t" | 38 " movl %3,%%esi\n\t" |
38 " xorl %%edi,%%edi\n\t" | 39 " xorl %%edi,%%edi\n\t" |
39 " movl bo,%%ebp\n\t" | 40 " movl "MANGLE(bo)",%%ebp\n\t" |
40 " cmpl %%edi,%2\n\t" | 41 " cmpl %%edi,%2\n\t" |
41 " jne .L48\n\t" | 42 " jne .L48\n\t" |
42 " decl %%ebp\n\t" | 43 " decl %%ebp\n\t" |
43 " andl $15,%%ebp\n\t" | 44 " andl $15,%%ebp\n\t" |
44 " movl %%ebp,bo\n\t" | 45 " movl %%ebp,"MANGLE(bo)"\n\t" |
45 " movl $buffs,%%ecx\n\t" | 46 " movl $"MANGLE(buffs)",%%ecx\n\t" |
46 " jmp .L49\n\t" | 47 " jmp .L49\n\t" |
47 ".L48:\n\t" | 48 ".L48:\n\t" |
48 " addl $2,%%esi\n\t" | 49 " addl $2,%%esi\n\t" |
49 " movl $buffs+2176,%%ecx\n\t" | 50 " movl $"MANGLE(buffs)"+2176,%%ecx\n\t" |
50 ".L49:\n\t" | 51 ".L49:\n\t" |
51 " testl $1,%%ebp\n\t" | 52 " testl $1,%%ebp\n\t" |
52 " je .L50\n\t" | 53 " je .L50\n\t" |
53 " movl %%ecx,%%ebx\n\t" | 54 " movl %%ecx,%%ebx\n\t" |
54 " movl %%ebp,%4\n\t" | 55 " movl %%ebp,%4\n\t" |
70 " leal 1092(%%ecx,%%ebp,4),%%eax\n\t" | 71 " leal 1092(%%ecx,%%ebp,4),%%eax\n\t" |
71 " pushl %%eax\n\t" | 72 " pushl %%eax\n\t" |
72 " leal (%%ecx,%%ebp,4),%%eax\n\t" | 73 " leal (%%ecx,%%ebp,4),%%eax\n\t" |
73 ".L74:\n\t" | 74 ".L74:\n\t" |
74 " pushl %%eax\n\t" | 75 " pushl %%eax\n\t" |
75 " call dct64\n\t" | 76 " call "MANGLE(dct64)"\n\t" |
76 " addl $12,%%esp\n\t" | 77 " addl $12,%%esp\n\t" |
77 " movl %4,%%edx\n\t" | 78 " movl %4,%%edx\n\t" |
78 " leal 0(,%%edx,4),%%edx\n\t" | 79 " leal 0(,%%edx,4),%%edx\n\t" |
79 " movl $decwin+64,%%eax\n\t" | 80 " movl $"MANGLE(decwin)"+64,%%eax\n\t" |
80 " movl %%eax,%%ecx\n\t" | 81 " movl %%eax,%%ecx\n\t" |
81 " subl %%edx,%%ecx\n\t" | 82 " subl %%edx,%%ecx\n\t" |
82 " movl $16,%%ebp\n\t" | 83 " movl $16,%%ebp\n\t" |
83 ".L55:\n\t" | 84 ".L55:\n\t" |
84 " flds (%%ecx)\n\t" | 85 " flds (%%ecx)\n\t" |