mirror of
https://github.com/mpv-player/mpv
synced 2024-12-27 09:32:40 +00:00
slight improvements. k7 vs 3dnow already win 12 prcnts
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@780 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
15e8f762f8
commit
4a78e26571
@ -4,7 +4,8 @@
|
|||||||
/// This code based 'decode_3dnow.s' by Syuuhei Kashiyama
|
/// This code based 'decode_3dnow.s' by Syuuhei Kashiyama
|
||||||
/// <squash@mb.kcom.ne.jp>,only some types of changes have been made:
|
/// <squash@mb.kcom.ne.jp>,only some types of changes have been made:
|
||||||
///
|
///
|
||||||
/// - decreased number of opcodes (as it suggested by k7 manual)
|
/// - Added new opcode PFNACC
|
||||||
|
/// - decreased number of opcodes (as it was suggested by k7 manual)
|
||||||
/// (using memory reference as operand of instructions)
|
/// (using memory reference as operand of instructions)
|
||||||
/// - change function name for support 3DNowEx! automatic detect
|
/// - change function name for support 3DNowEx! automatic detect
|
||||||
///
|
///
|
||||||
@ -45,6 +46,7 @@
|
|||||||
bo:
|
bo:
|
||||||
.long 1
|
.long 1
|
||||||
.text
|
.text
|
||||||
|
/* int synth_1to1(real *bandPtr,int channel,unsigned char *out) */
|
||||||
.globl synth_1to1_3dnowex
|
.globl synth_1to1_3dnowex
|
||||||
synth_1to1_3dnowex:
|
synth_1to1_3dnowex:
|
||||||
subl $12,%esp
|
subl $12,%esp
|
||||||
@ -134,9 +136,7 @@ synth_1to1_3dnowex:
|
|||||||
pfmul 56(%ebx),%mm0
|
pfmul 56(%ebx),%mm0
|
||||||
pfadd %mm0,%mm4
|
pfadd %mm0,%mm4
|
||||||
|
|
||||||
movq %mm4,%mm0
|
pfnacc %mm4, %mm4
|
||||||
psrlq $32,%mm0
|
|
||||||
pfsub %mm0,%mm4
|
|
||||||
|
|
||||||
pf2id %mm4,%mm4
|
pf2id %mm4,%mm4
|
||||||
movd %mm4,%eax
|
movd %mm4,%eax
|
||||||
@ -196,7 +196,7 @@ synth_1to1_3dnowex:
|
|||||||
movl $15,%ebp
|
movl $15,%ebp
|
||||||
|
|
||||||
.L68:
|
.L68:
|
||||||
psubd %mm0,%mm0
|
pxor %mm0, %mm0
|
||||||
|
|
||||||
movq (%ecx),%mm2
|
movq (%ecx),%mm2
|
||||||
pfmul (%ebx),%mm2
|
pfmul (%ebx),%mm2
|
||||||
|
Loading…
Reference in New Issue
Block a user