equalizer_3dnow.s

来自「mips上编译过的mpg 运行正常 环境:AU12」· S 代码 · 共 69 行

S
69
字号
/*	equalizer_3dnow: 3DNow! optimized do_equalizer()	copyright ?-2006 by the mpg123 project - free software under the terms of the LGPL 2.1	see COPYING and AUTHORS files in distribution or http://mpg123.org	initially written by KIMURA Takuhiro*/#include "mangle.h".text	ALIGN4.globl ASM_NAME(do_equalizer_3dnow)/*	.type	 ASM_NAME(do_equalizer_3dnow),@function *//* void do_equalizer(real *bandPtr,int channel, real equalizer[2][32]); */ASM_NAME(do_equalizer_3dnow):	pushl %esi	pushl %ebx	/* bandPtr */	movl 12(%esp),%ebx	/* channel */	movl 16(%esp),%ecx	xorl %edx,%edx	/* equalizer */	movl 20(%esp),%esi	sall $7,%ecx	ALIGN4.L9:	movq (%ebx,%edx),%mm0	pfmul (%esi,%ecx),%mm0	movq 8(%ebx,%edx),%mm1	pfmul 8(%esi,%ecx),%mm1	movq %mm0,(%ebx,%edx)		movq 16(%ebx,%edx),%mm0	pfmul 16(%esi,%ecx),%mm0	movq %mm1,8(%ebx,%edx)		movq 24(%ebx,%edx),%mm1	pfmul 24(%esi,%ecx),%mm1	movq %mm0,16(%ebx,%edx)	movq 32(%ebx,%edx),%mm0	pfmul 32(%esi,%ecx),%mm0	movq %mm1,24(%ebx,%edx)	movq 40(%ebx,%edx),%mm1	pfmul 40(%esi,%ecx),%mm1	movq %mm0,32(%ebx,%edx)		movq 48(%ebx,%edx),%mm0	pfmul 48(%esi,%ecx),%mm0	movq %mm1,40(%ebx,%edx)		movq 56(%ebx,%edx),%mm1	pfmul 56(%esi,%ecx),%mm1	movq %mm0,48(%ebx,%edx)	movq %mm1,56(%ebx,%edx)		addl $64,%edx	addl $32,%ecx	cmpl $124,%edx	jle .L9	ALIGN4	popl %ebx	popl %esi	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?