From 85ef10826f7ebf742349acfc22cdd279db29db7c Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Tue, 13 Sep 2011 16:53:13 +0000 Subject: codeclib: tweak coldfire mdct asm a bit more, flip usage of mac/msac instead of explicit negation, changes output slightly but is as close to the c version as before. Gives about 0.4MHz speedup of vorbis on cf. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30516 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/lib/mdct.c | 95 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 65 insertions(+), 30 deletions(-) diff --git a/apps/codecs/lib/mdct.c b/apps/codecs/lib/mdct.c index 621b9cbbb8..5524afbbc4 100644 --- a/apps/codecs/lib/mdct.c +++ b/apps/codecs/lib/mdct.c @@ -124,7 +124,6 @@ void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) default: { fixed32 * z1 = (fixed32 *)(&z[0]); - fixed32 * z2 = (fixed32 *)(&z[n4-1]); int magic_step = step>>2; int newstep; if(n<=1024) @@ -137,47 +136,84 @@ void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) T = sincos_lookup1; newstep = 2; } - - while(z1