summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-11-08 15:30:47 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-11-08 15:30:47 +0000
commitaf2e9cc6e9e2c2a5a673870874e554af734ab6b1 (patch)
tree3e0420001dfd51d5b05cbb2a9503759411f47743
parent23078a34d82d7ae3728b0f93ef600b50a3b4ce96 (diff)
downloadrockbox-af2e9cc6e9e2c2a5a673870874e554af734ab6b1.tar.gz
rockbox-af2e9cc6e9e2c2a5a673870874e554af734ab6b1.zip
SPC/Coldfire: Just use msac.w instead of neg.l/mac.w. It seems fine. Must've been cache aliasing. :-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15532 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/spc/spc_dsp.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/apps/codecs/spc/spc_dsp.c b/apps/codecs/spc/spc_dsp.c
index 6a8aaebc7f..8881788cf1 100644
--- a/apps/codecs/spc/spc_dsp.c
+++ b/apps/codecs/spc/spc_dsp.c
@@ -812,10 +812,8 @@ void DSP_run_( struct Spc_Dsp* this, long count, int32_t* out_buf )
812 "move.l 2(%[s], %[y1].l*2), %[y1] \r\n" 812 "move.l 2(%[s], %[y1].l*2), %[y1] \r\n"
813 /* %acc0 = f*y1 */ 813 /* %acc0 = f*y1 */
814 "mac.w %[f]l, %[y1]l, %%acc0 \r\n" 814 "mac.w %[f]l, %[y1]l, %%acc0 \r\n"
815 /* msac.w is 2% boostier so add negative */
816 "neg.l %[f] \r\n"
817 /* %acc0 -= f*y0 */ 815 /* %acc0 -= f*y0 */
818 "mac.w %[f]l, %[y1]u, %%acc0 \r\n" 816 "msac.w %[f]l, %[y1]u, %%acc0 \r\n"
819 /* separate out y0 and sign extend */ 817 /* separate out y0 and sign extend */
820 "swap %[y1] \r\n" 818 "swap %[y1] \r\n"
821 "movea.w %[y1], %[y0] \r\n" 819 "movea.w %[y1], %[y0] \r\n"