Mercurial > mplayer.hg
comparison mp3lib/decode_MMX.s @ 1277:3a9699d9e7da
Slight otimization
author | nick |
---|---|
date | Thu, 05 Jul 2001 09:44:18 +0000 |
parents | 2864e32cd267 |
children | c73912315dbf |
comparison
equal
deleted
inserted
replaced
1276:ae943748e0d9 | 1277:3a9699d9e7da |
---|---|
46 .long 1060439283 | 46 .long 1060439283 |
47 | 47 |
48 .text | 48 .text |
49 | 49 |
50 .globl synth_1to1_MMX_s | 50 .globl synth_1to1_MMX_s |
51 | 51 /* |
52 void synth_1to1_MMX_s(real *bandPtr, int channel, short *samples, | |
53 short *buffs, int *bo); | |
54 */ | |
52 synth_1to1_MMX_s: | 55 synth_1to1_MMX_s: |
53 pushl %ebp | 56 pushl %ebp |
54 pushl %edi | 57 pushl %edi |
55 pushl %esi | 58 pushl %esi |
56 pushl %ebx | 59 pushl %ebx |
57 movl 24(%esp),%ecx | 60 movl 24(%esp),%ecx |
58 movl 28(%esp),%edi | 61 movl 28(%esp),%edi |
59 movl $15,%ebx | 62 movl $15,%ebx |
60 movl 36(%esp),%edx | 63 movl 36(%esp),%edx |
61 leal (%edi,%ecx,2),%edi | 64 leal (%edi,%ecx,2),%edi |
62 decl %ecx | 65 decl %ecx |
63 movl 32(%esp),%esi | 66 movl 32(%esp),%esi |
64 movl (%edx),%eax | 67 movl (%edx),%eax |
65 jecxz .L1 | 68 jecxz .L1 |
66 decl %eax | 69 decl %eax |
67 andl %ebx,%eax | 70 andl %ebx,%eax |
68 leal 1088(%esi),%esi | 71 leal 1088(%esi),%esi |
69 movl %eax,(%edx) | 72 movl %eax,(%edx) |
70 .L1: | 73 .L1: |
71 leal (%esi,%eax,2),%edx | 74 leal (%esi,%eax,2),%edx |
72 movl %eax,%ebp | 75 movl %eax,%ebp |
73 incl %eax | 76 incl %eax |
74 pushl 20(%esp) | 77 pushl 20(%esp) |
75 andl %ebx,%eax | 78 andl %ebx,%eax |
76 leal 544(%esi,%eax,2),%ecx | 79 leal 544(%esi,%eax,2),%ecx |
77 incl %ebx | 80 incl %ebx |
78 testl $1, %eax | 81 testl $1, %eax |
79 jnz .L2 | 82 jnz .L2 |
80 xchgl %edx,%ecx | 83 xchgl %edx,%ecx |
81 incl %ebp | 84 incl %ebp |
82 leal 544(%esi),%esi | 85 leal 544(%esi),%esi |
83 .L2: | 86 .L2: |
84 emms | 87 emms |
85 pushl %edx | 88 pushl %edx |
86 pushl %ecx | 89 pushl %ecx |
87 call *dct64_MMX_func | 90 call *dct64_MMX_func |
88 addl $12,%esp | |
89 leal 1(%ebx), %ecx | 91 leal 1(%ebx), %ecx |
90 subl %ebp,%ebx | 92 subl %ebp,%ebx |
91 pushl %ecx | 93 pushl %ecx |
92 leal decwins(%ebx,%ebx,1), %edx | 94 leal decwins(%ebx,%ebx,1), %edx |
93 shrl $1, %ecx | 95 shrl $1, %ecx |
94 .align 16 | 96 .align 16 |
95 .L3: | 97 .L3: |
246 popl %ebx | 248 popl %ebx |
247 popl %esi | 249 popl %esi |
248 popl %edi | 250 popl %edi |
249 popl %ebp | 251 popl %ebp |
250 ret | 252 ret |
251 | |
252 |