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