diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-11-08 15:30:47 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-11-08 15:30:47 +0000 |
commit | af2e9cc6e9e2c2a5a673870874e554af734ab6b1 (patch) | |
tree | 3e0420001dfd51d5b05cbb2a9503759411f47743 /apps/codecs/spc/spc_dsp.c | |
parent | 23078a34d82d7ae3728b0f93ef600b50a3b4ce96 (diff) | |
download | rockbox-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
Diffstat (limited to 'apps/codecs/spc/spc_dsp.c')
-rw-r--r-- | apps/codecs/spc/spc_dsp.c | 4 |
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" |