Mercurial > mplayer.hg
comparison mp3lib/decode_MMX.c @ 4608:b9c19fe73850
Fix according to strange bugreport
author | nick |
---|---|
date | Sat, 09 Feb 2002 14:34:08 +0000 |
parents | 2935211e4f9b |
children | d4367189b2ff |
comparison
equal
deleted
inserted
replaced
4607:da09673aea00 | 4608:b9c19fe73850 |
---|---|
58 "movl %4,%%edx\n\t" | 58 "movl %4,%%edx\n\t" |
59 "leal (%%edi,%%ecx,2),%%edi\n\t" | 59 "leal (%%edi,%%ecx,2),%%edi\n\t" |
60 "decl %%ecx\n\t" | 60 "decl %%ecx\n\t" |
61 "movl %3,%%esi\n\t" | 61 "movl %3,%%esi\n\t" |
62 "movl (%%edx),%%eax\n\t" | 62 "movl (%%edx),%%eax\n\t" |
63 "jecxz .L1\n\t" | 63 "jecxz .L01\n\t" |
64 "decl %%eax\n\t" | 64 "decl %%eax\n\t" |
65 "andl %%ebx,%%eax\n\t" | 65 "andl %%ebx,%%eax\n\t" |
66 "leal 1088(%%esi),%%esi\n\t" | 66 "leal 1088(%%esi),%%esi\n\t" |
67 "movl %%eax,(%%edx)\n\t" | 67 "movl %%eax,(%%edx)\n\t" |
68 ".L1:\n\t" | 68 ".L01:\n\t" |
69 "leal (%%esi,%%eax,2),%%edx\n\t" | 69 "leal (%%esi,%%eax,2),%%edx\n\t" |
70 "movl %%eax,%5\n\t" | 70 "movl %%eax,%5\n\t" |
71 "incl %%eax\n\t" | 71 "incl %%eax\n\t" |
72 "pushl %0\n\t" | 72 "pushl %0\n\t" |
73 "andl %%ebx,%%eax\n\t" | 73 "andl %%ebx,%%eax\n\t" |
74 "leal 544(%%esi,%%eax,2),%%ecx\n\t" | 74 "leal 544(%%esi,%%eax,2),%%ecx\n\t" |
75 "incl %%ebx\n\t" | 75 "incl %%ebx\n\t" |
76 "testl $1, %%eax\n\t" | 76 "testl $1, %%eax\n\t" |
77 "jnz .L2\n\t" | 77 "jnz .L02\n\t" |
78 "xchgl %%edx,%%ecx\n\t" | 78 "xchgl %%edx,%%ecx\n\t" |
79 "incl %5\n\t" | 79 "incl %5\n\t" |
80 "leal 544(%%esi),%%esi\n\t" | 80 "leal 544(%%esi),%%esi\n\t" |
81 ".L2:\n\t" | 81 ".L02:\n\t" |
82 "emms\n\t" | 82 "emms\n\t" |
83 "pushl %%edx\n\t" | 83 "pushl %%edx\n\t" |
84 "pushl %%ecx\n\t" | 84 "pushl %%ecx\n\t" |
85 "call *"MANGLE(dct64_MMX_func)"\n\t" | 85 "call *"MANGLE(dct64_MMX_func)"\n\t" |
86 "leal 1(%%ebx), %%ecx\n\t" | 86 "leal 1(%%ebx), %%ecx\n\t" |
87 "subl %5,%%ebx\n\t" | 87 "subl %5,%%ebx\n\t" |
88 "pushl %%ecx\n\t" | 88 "pushl %%ecx\n\t" |
89 "leal "MANGLE(decwins)"(%%ebx,%%ebx,1), %%edx\n\t" | 89 "leal "MANGLE(decwins)"(%%ebx,%%ebx,1), %%edx\n\t" |
90 "shrl $1, %%ecx\n\t" | 90 "shrl $1, %%ecx\n\t" |
91 ".align 16\n\t" | 91 ".align 16\n\t" |
92 ".L3:\n\t" | 92 ".L03:\n\t" |
93 "movq (%%edx),%%mm0\n\t" | 93 "movq (%%edx),%%mm0\n\t" |
94 "movq 64(%%edx),%%mm4\n\t" | 94 "movq 64(%%edx),%%mm4\n\t" |
95 "pmaddwd (%%esi),%%mm0\n\t" | 95 "pmaddwd (%%esi),%%mm0\n\t" |
96 "pmaddwd 32(%%esi),%%mm4\n\t" | 96 "pmaddwd 32(%%esi),%%mm4\n\t" |
97 "movq 8(%%edx),%%mm1\n\t" | 97 "movq 8(%%edx),%%mm1\n\t" |
133 "leal 64(%%esi),%%esi\n\t" | 133 "leal 64(%%esi),%%esi\n\t" |
134 "leal 128(%%edx),%%edx\n\t" | 134 "leal 128(%%edx),%%edx\n\t" |
135 "leal 8(%%edi),%%edi\n\t" | 135 "leal 8(%%edi),%%edi\n\t" |
136 | 136 |
137 "decl %%ecx\n\t" | 137 "decl %%ecx\n\t" |
138 "jnz .L3\n\t" | 138 "jnz .L03\n\t" |
139 | 139 |
140 "popl %%ecx\n\t" | 140 "popl %%ecx\n\t" |
141 "andl $1, %%ecx\n\t" | 141 "andl $1, %%ecx\n\t" |
142 "jecxz .next_loop\n\t" | 142 "jecxz .next_loop\n\t" |
143 | 143 |
165 | 165 |
166 ".next_loop:\n\t" | 166 ".next_loop:\n\t" |
167 "subl $64,%%esi\n\t" | 167 "subl $64,%%esi\n\t" |
168 "movl $7,%%ecx\n\t" | 168 "movl $7,%%ecx\n\t" |
169 ".align 16\n\t" | 169 ".align 16\n\t" |
170 ".L4:\n\t" | 170 ".L04:\n\t" |
171 "movq (%%edx),%%mm0\n\t" | 171 "movq (%%edx),%%mm0\n\t" |
172 "movq 64(%%edx),%%mm4\n\t" | 172 "movq 64(%%edx),%%mm4\n\t" |
173 "pmaddwd (%%esi),%%mm0\n\t" | 173 "pmaddwd (%%esi),%%mm0\n\t" |
174 "pmaddwd -32(%%esi),%%mm4\n\t" | 174 "pmaddwd -32(%%esi),%%mm4\n\t" |
175 "movq 8(%%edx),%%mm1\n\t" | 175 "movq 8(%%edx),%%mm1\n\t" |
214 | 214 |
215 "subl $64,%%esi\n\t" | 215 "subl $64,%%esi\n\t" |
216 "addl $128,%%edx\n\t" | 216 "addl $128,%%edx\n\t" |
217 "leal 8(%%edi),%%edi\n\t" | 217 "leal 8(%%edi),%%edi\n\t" |
218 "decl %%ecx\n\t" | 218 "decl %%ecx\n\t" |
219 "jnz .L4\n\t" | 219 "jnz .L04\n\t" |
220 | 220 |
221 "movq (%%edx),%%mm0\n\t" | 221 "movq (%%edx),%%mm0\n\t" |
222 "pmaddwd (%%esi),%%mm0\n\t" | 222 "pmaddwd (%%esi),%%mm0\n\t" |
223 "movq 8(%%edx),%%mm1\n\t" | 223 "movq 8(%%edx),%%mm1\n\t" |
224 "pmaddwd 8(%%esi),%%mm1\n\t" | 224 "pmaddwd 8(%%esi),%%mm1\n\t" |