annotate mp3lib/decode_i586.c @ 7429:7a221aaf7012

Enable the LIVE lib only if the network layer (STREAMING) is enable. Fixed the bug where if streaming disable and live enable, the live config test will reenable the network layer.
author bertrand
date Tue, 17 Sep 2002 19:47:55 +0000
parents 3f677202418b
children 60fe896e437c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4147
nick
parents:
diff changeset
1 /*
nick
parents:
diff changeset
2 * mpg123_synth_1to1 works the same way as the c version of this
nick
parents:
diff changeset
3 * file. only two types of changes have been made:
nick
parents:
diff changeset
4 * - reordered floating point instructions to
nick
parents:
diff changeset
5 * prevent pipline stalls
nick
parents:
diff changeset
6 * - made WRITE_SAMPLE use integer instead of
nick
parents:
diff changeset
7 * (slower) floating point
nick
parents:
diff changeset
8 * all kinds of x86 processors should benefit from these
nick
parents:
diff changeset
9 * modifications.
nick
parents:
diff changeset
10 *
nick
parents:
diff changeset
11 * useful sources of information on optimizing x86 code include:
nick
parents:
diff changeset
12 *
nick
parents:
diff changeset
13 * Intel Architecture Optimization Manual
nick
parents:
diff changeset
14 * http://www.intel.com/design/pentium/manuals/242816.htm
nick
parents:
diff changeset
15 *
nick
parents:
diff changeset
16 * Cyrix 6x86 Instruction Set Summary
nick
parents:
diff changeset
17 * ftp://ftp.cyrix.com/6x86/6x-dbch6.pdf
nick
parents:
diff changeset
18 *
nick
parents:
diff changeset
19 * AMD-K5 Processor Software Development
nick
parents:
diff changeset
20 * http://www.amd.com/products/cpg/techdocs/appnotes/20007e.pdf
nick
parents:
diff changeset
21 *
nick
parents:
diff changeset
22 * Stefan Bieschewski <stb@acm.org>
nick
parents:
diff changeset
23 *
nick
parents:
diff changeset
24 * $Id$
nick
parents:
diff changeset
25 */
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
26 #include "../mangle.h"
4147
nick
parents:
diff changeset
27 #define real float /* ugly - but only way */
nick
parents:
diff changeset
28
nick
parents:
diff changeset
29 static long buffs[1088];
nick
parents:
diff changeset
30 static long bo=1;
nick
parents:
diff changeset
31
nick
parents:
diff changeset
32 int synth_1to1_pent(real *bandPtr, int channel, short *samples)
nick
parents:
diff changeset
33 {
nick
parents:
diff changeset
34 real tmp[3];
nick
parents:
diff changeset
35 register int retval;
nick
parents:
diff changeset
36 __asm __volatile(
nick
parents:
diff changeset
37 " movl %1,%%eax\n\t"/*bandPtr*/
nick
parents:
diff changeset
38 " movl %3,%%esi\n\t"
nick
parents:
diff changeset
39 " xorl %%edi,%%edi\n\t"
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
40 " movl "MANGLE(bo)",%%ebp\n\t"
4147
nick
parents:
diff changeset
41 " cmpl %%edi,%2\n\t"
nick
parents:
diff changeset
42 " jne .L48\n\t"
nick
parents:
diff changeset
43 " decl %%ebp\n\t"
nick
parents:
diff changeset
44 " andl $15,%%ebp\n\t"
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
45 " movl %%ebp,"MANGLE(bo)"\n\t"
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
46 " movl $"MANGLE(buffs)",%%ecx\n\t"
4147
nick
parents:
diff changeset
47 " jmp .L49\n\t"
nick
parents:
diff changeset
48 ".L48:\n\t"
nick
parents:
diff changeset
49 " addl $2,%%esi\n\t"
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
50 " movl $"MANGLE(buffs)"+2176,%%ecx\n\t"
4147
nick
parents:
diff changeset
51 ".L49:\n\t"
nick
parents:
diff changeset
52 " testl $1,%%ebp\n\t"
nick
parents:
diff changeset
53 " je .L50\n\t"
nick
parents:
diff changeset
54 " movl %%ecx,%%ebx\n\t"
nick
parents:
diff changeset
55 " movl %%ebp,%4\n\t"
nick
parents:
diff changeset
56 " pushl %%eax\n\t"
nick
parents:
diff changeset
57 " movl 4+%4,%%edx\n\t"
nick
parents:
diff changeset
58 " leal (%%ebx,%%edx,4),%%eax\n\t"
nick
parents:
diff changeset
59 " pushl %%eax\n\t"
nick
parents:
diff changeset
60 " movl 8+%4,%%eax\n\t"
nick
parents:
diff changeset
61 " incl %%eax\n\t"
nick
parents:
diff changeset
62 " andl $15,%%eax\n\t"
nick
parents:
diff changeset
63 " leal 1088(,%%eax,4),%%eax\n\t"
nick
parents:
diff changeset
64 " addl %%ebx,%%eax\n\t"
nick
parents:
diff changeset
65 " jmp .L74\n\t"
nick
parents:
diff changeset
66 ".L50:\n\t"
nick
parents:
diff changeset
67 " leal 1088(%%ecx),%%ebx\n\t"
nick
parents:
diff changeset
68 " leal 1(%%ebp),%%edx\n\t"
nick
parents:
diff changeset
69 " movl %%edx,%4\n\t"
nick
parents:
diff changeset
70 " pushl %%eax\n\t"
nick
parents:
diff changeset
71 " leal 1092(%%ecx,%%ebp,4),%%eax\n\t"
nick
parents:
diff changeset
72 " pushl %%eax\n\t"
nick
parents:
diff changeset
73 " leal (%%ecx,%%ebp,4),%%eax\n\t"
nick
parents:
diff changeset
74 ".L74:\n\t"
nick
parents:
diff changeset
75 " pushl %%eax\n\t"
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
76 " call "MANGLE(dct64)"\n\t"
4147
nick
parents:
diff changeset
77 " addl $12,%%esp\n\t"
nick
parents:
diff changeset
78 " movl %4,%%edx\n\t"
nick
parents:
diff changeset
79 " leal 0(,%%edx,4),%%edx\n\t"
4246
3f677202418b mangling in mp3lib + stdcall undefined fix with cygwin
atmos4
parents: 4147
diff changeset
80 " movl $"MANGLE(decwin)"+64,%%eax\n\t"
4147
nick
parents:
diff changeset
81 " movl %%eax,%%ecx\n\t"
nick
parents:
diff changeset
82 " subl %%edx,%%ecx\n\t"
nick
parents:
diff changeset
83 " movl $16,%%ebp\n\t"
nick
parents:
diff changeset
84 ".L55:\n\t"
nick
parents:
diff changeset
85 " flds (%%ecx)\n\t"
nick
parents:
diff changeset
86 " fmuls (%%ebx)\n\t"
nick
parents:
diff changeset
87 " flds 4(%%ecx)\n\t"
nick
parents:
diff changeset
88 " fmuls 4(%%ebx)\n\t"
nick
parents:
diff changeset
89 " fxch %%st(1)\n\t"
nick
parents:
diff changeset
90 " flds 8(%%ecx)\n\t"
nick
parents:
diff changeset
91 " fmuls 8(%%ebx)\n\t"
nick
parents:
diff changeset
92 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
93 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
94 " flds 12(%%ecx)\n\t"
nick
parents:
diff changeset
95 " fmuls 12(%%ebx)\n\t"
nick
parents:
diff changeset
96 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
97 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
98 " flds 16(%%ecx)\n\t"
nick
parents:
diff changeset
99 " fmuls 16(%%ebx)\n\t"
nick
parents:
diff changeset
100 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
101 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
102 " flds 20(%%ecx)\n\t"
nick
parents:
diff changeset
103 " fmuls 20(%%ebx)\n\t"
nick
parents:
diff changeset
104 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
105 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
106 " flds 24(%%ecx)\n\t"
nick
parents:
diff changeset
107 " fmuls 24(%%ebx)\n\t"
nick
parents:
diff changeset
108 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
109 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
110 " flds 28(%%ecx)\n\t"
nick
parents:
diff changeset
111 " fmuls 28(%%ebx)\n\t"
nick
parents:
diff changeset
112 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
113 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
114 " flds 32(%%ecx)\n\t"
nick
parents:
diff changeset
115 " fmuls 32(%%ebx)\n\t"
nick
parents:
diff changeset
116 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
117 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
118 " flds 36(%%ecx)\n\t"
nick
parents:
diff changeset
119 " fmuls 36(%%ebx)\n\t"
nick
parents:
diff changeset
120 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
121 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
122 " flds 40(%%ecx)\n\t"
nick
parents:
diff changeset
123 " fmuls 40(%%ebx)\n\t"
nick
parents:
diff changeset
124 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
125 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
126 " flds 44(%%ecx)\n\t"
nick
parents:
diff changeset
127 " fmuls 44(%%ebx)\n\t"
nick
parents:
diff changeset
128 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
129 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
130 " flds 48(%%ecx)\n\t"
nick
parents:
diff changeset
131 " fmuls 48(%%ebx)\n\t"
nick
parents:
diff changeset
132 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
133 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
134 " flds 52(%%ecx)\n\t"
nick
parents:
diff changeset
135 " fmuls 52(%%ebx)\n\t"
nick
parents:
diff changeset
136 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
137 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
138 " flds 56(%%ecx)\n\t"
nick
parents:
diff changeset
139 " fmuls 56(%%ebx)\n\t"
nick
parents:
diff changeset
140 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
141 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
142 " flds 60(%%ecx)\n\t"
nick
parents:
diff changeset
143 " fmuls 60(%%ebx)\n\t"
nick
parents:
diff changeset
144 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
145 " subl $4,%%esp\n\t"
nick
parents:
diff changeset
146 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
147 " fxch %%st(1)\n\t"
nick
parents:
diff changeset
148 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
149 " fistpl (%%esp)\n\t"
nick
parents:
diff changeset
150 " popl %%eax\n\t"
nick
parents:
diff changeset
151 " cmpl $32767,%%eax\n\t"
nick
parents:
diff changeset
152 " jg 1f\n\t"
nick
parents:
diff changeset
153 " cmpl $-32768,%%eax\n\t"
nick
parents:
diff changeset
154 " jl 2f\n\t"
nick
parents:
diff changeset
155 " movw %%ax,(%%esi)\n\t"
nick
parents:
diff changeset
156 " jmp 4f\n\t"
nick
parents:
diff changeset
157 "1: movw $32767,(%%esi)\n\t"
nick
parents:
diff changeset
158 " jmp 3f\n\t"
nick
parents:
diff changeset
159 "2: movw $-32768,(%%esi)\n\t"
nick
parents:
diff changeset
160 "3: incl %%edi\n\t"
nick
parents:
diff changeset
161 "4:\n\t"
nick
parents:
diff changeset
162 ".L54:\n\t"
nick
parents:
diff changeset
163 " addl $64,%%ebx\n\t"
nick
parents:
diff changeset
164 " subl $-128,%%ecx\n\t"
nick
parents:
diff changeset
165 " addl $4,%%esi\n\t"
nick
parents:
diff changeset
166 " decl %%ebp\n\t"
nick
parents:
diff changeset
167 " jnz .L55\n\t"
nick
parents:
diff changeset
168 " flds (%%ecx)\n\t"
nick
parents:
diff changeset
169 " fmuls (%%ebx)\n\t"
nick
parents:
diff changeset
170 " flds 8(%%ecx)\n\t"
nick
parents:
diff changeset
171 " fmuls 8(%%ebx)\n\t"
nick
parents:
diff changeset
172 " flds 16(%%ecx)\n\t"
nick
parents:
diff changeset
173 " fmuls 16(%%ebx)\n\t"
nick
parents:
diff changeset
174 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
175 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
176 " flds 24(%%ecx)\n\t"
nick
parents:
diff changeset
177 " fmuls 24(%%ebx)\n\t"
nick
parents:
diff changeset
178 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
179 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
180 " flds 32(%%ecx)\n\t"
nick
parents:
diff changeset
181 " fmuls 32(%%ebx)\n\t"
nick
parents:
diff changeset
182 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
183 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
184 " flds 40(%%ecx)\n\t"
nick
parents:
diff changeset
185 " fmuls 40(%%ebx)\n\t"
nick
parents:
diff changeset
186 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
187 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
188 " flds 48(%%ecx)\n\t"
nick
parents:
diff changeset
189 " fmuls 48(%%ebx)\n\t"
nick
parents:
diff changeset
190 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
191 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
192 " flds 56(%%ecx)\n\t"
nick
parents:
diff changeset
193 " fmuls 56(%%ebx)\n\t"
nick
parents:
diff changeset
194 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
195 " subl $4,%%esp\n\t"
nick
parents:
diff changeset
196 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
197 " fxch %%st(1)\n\t"
nick
parents:
diff changeset
198 " faddp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
199 " fistpl (%%esp)\n\t"
nick
parents:
diff changeset
200 " popl %%eax\n\t"
nick
parents:
diff changeset
201 " cmpl $32767,%%eax\n\t"
nick
parents:
diff changeset
202 " jg 1f\n\t"
nick
parents:
diff changeset
203 " cmpl $-32768,%%eax\n\t"
nick
parents:
diff changeset
204 " jl 2f\n\t"
nick
parents:
diff changeset
205 " movw %%ax,(%%esi)\n\t"
nick
parents:
diff changeset
206 " jmp 4f\n\t"
nick
parents:
diff changeset
207 "1: movw $32767,(%%esi)\n\t"
nick
parents:
diff changeset
208 " jmp 3f\n\t"
nick
parents:
diff changeset
209 "2: movw $-32768,(%%esi)\n\t"
nick
parents:
diff changeset
210 "3: incl %%edi\n\t"
nick
parents:
diff changeset
211 "4:\n\t"
nick
parents:
diff changeset
212 ".L62:\n\t"
nick
parents:
diff changeset
213 " addl $-64,%%ebx\n\t"
nick
parents:
diff changeset
214 " addl $4,%%esi\n\t"
nick
parents:
diff changeset
215 " movl %4,%%edx\n\t"
nick
parents:
diff changeset
216 " leal -128(%%ecx,%%edx,8),%%ecx\n\t"
nick
parents:
diff changeset
217 " movl $15,%%ebp\n\t"
nick
parents:
diff changeset
218 ".L68:\n\t"
nick
parents:
diff changeset
219 " flds -4(%%ecx)\n\t"
nick
parents:
diff changeset
220 " fchs\n\t"
nick
parents:
diff changeset
221 " fmuls (%%ebx)\n\t"
nick
parents:
diff changeset
222 " flds -8(%%ecx)\n\t"
nick
parents:
diff changeset
223 " fmuls 4(%%ebx)\n\t"
nick
parents:
diff changeset
224 " fxch %%st(1)\n\t"
nick
parents:
diff changeset
225 " flds -12(%%ecx)\n\t"
nick
parents:
diff changeset
226 " fmuls 8(%%ebx)\n\t"
nick
parents:
diff changeset
227 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
228 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
229 " flds -16(%%ecx)\n\t"
nick
parents:
diff changeset
230 " fmuls 12(%%ebx)\n\t"
nick
parents:
diff changeset
231 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
232 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
233 " flds -20(%%ecx)\n\t"
nick
parents:
diff changeset
234 " fmuls 16(%%ebx)\n\t"
nick
parents:
diff changeset
235 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
236 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
237 " flds -24(%%ecx)\n\t"
nick
parents:
diff changeset
238 " fmuls 20(%%ebx)\n\t"
nick
parents:
diff changeset
239 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
240 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
241 " flds -28(%%ecx)\n\t"
nick
parents:
diff changeset
242 " fmuls 24(%%ebx)\n\t"
nick
parents:
diff changeset
243 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
244 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
245 " flds -32(%%ecx)\n\t"
nick
parents:
diff changeset
246 " fmuls 28(%%ebx)\n\t"
nick
parents:
diff changeset
247 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
248 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
249 " flds -36(%%ecx)\n\t"
nick
parents:
diff changeset
250 " fmuls 32(%%ebx)\n\t"
nick
parents:
diff changeset
251 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
252 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
253 " flds -40(%%ecx)\n\t"
nick
parents:
diff changeset
254 " fmuls 36(%%ebx)\n\t"
nick
parents:
diff changeset
255 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
256 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
257 " flds -44(%%ecx)\n\t"
nick
parents:
diff changeset
258 " fmuls 40(%%ebx)\n\t"
nick
parents:
diff changeset
259 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
260 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
261 " flds -48(%%ecx)\n\t"
nick
parents:
diff changeset
262 " fmuls 44(%%ebx)\n\t"
nick
parents:
diff changeset
263 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
264 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
265 " flds -52(%%ecx)\n\t"
nick
parents:
diff changeset
266 " fmuls 48(%%ebx)\n\t"
nick
parents:
diff changeset
267 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
268 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
269 " flds -56(%%ecx)\n\t"
nick
parents:
diff changeset
270 " fmuls 52(%%ebx)\n\t"
nick
parents:
diff changeset
271 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
272 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
273 " flds -60(%%ecx)\n\t"
nick
parents:
diff changeset
274 " fmuls 56(%%ebx)\n\t"
nick
parents:
diff changeset
275 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
276 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
277 " flds (%%ecx)\n\t"
nick
parents:
diff changeset
278 " fmuls 60(%%ebx)\n\t"
nick
parents:
diff changeset
279 " fxch %%st(2)\n\t"
nick
parents:
diff changeset
280 " subl $4,%%esp\n\t"
nick
parents:
diff changeset
281 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
282 " fxch %%st(1)\n\t"
nick
parents:
diff changeset
283 " fsubrp %%st,%%st(1)\n\t"
nick
parents:
diff changeset
284 " fistpl (%%esp)\n\t"
nick
parents:
diff changeset
285 " popl %%eax\n\t"
nick
parents:
diff changeset
286 " cmpl $32767,%%eax\n\t"
nick
parents:
diff changeset
287 " jg 1f\n\t"
nick
parents:
diff changeset
288 " cmpl $-32768,%%eax\n\t"
nick
parents:
diff changeset
289 " jl 2f\n\t"
nick
parents:
diff changeset
290 " movw %%ax,(%%esi)\n\t"
nick
parents:
diff changeset
291 " jmp 4f\n\t"
nick
parents:
diff changeset
292 "1: movw $32767,(%%esi)\n\t"
nick
parents:
diff changeset
293 " jmp 3f\n\t"
nick
parents:
diff changeset
294 "2: movw $-32768,(%%esi)\n\t"
nick
parents:
diff changeset
295 "3: incl %%edi\n\t"
nick
parents:
diff changeset
296 "4:\n\t"
nick
parents:
diff changeset
297 ".L67:\n\t"
nick
parents:
diff changeset
298 " addl $-64,%%ebx\n\t"
nick
parents:
diff changeset
299 " addl $-128,%%ecx\n\t"
nick
parents:
diff changeset
300 " addl $4,%%esi\n\t"
nick
parents:
diff changeset
301 " decl %%ebp\n\t"
nick
parents:
diff changeset
302 " jnz .L68\n\t"
nick
parents:
diff changeset
303 " movl %%edi,%%eax\n\t"
nick
parents:
diff changeset
304 :"=a"(retval)
nick
parents:
diff changeset
305 :"m"(bandPtr),"m"(channel),"m"(samples),"m"(tmp[0])
nick
parents:
diff changeset
306 :"memory","%ebp","%edi","%esi","%ebx");
nick
parents:
diff changeset
307 return retval;
nick
parents:
diff changeset
308 }