diff options
author | Thom Johansen <thomj@rockbox.org> | 2005-09-21 23:09:19 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2005-09-21 23:09:19 +0000 |
commit | 1b79209ea7d02956cf27ce719516dcf495e26f98 (patch) | |
tree | e98519b14ddbcaec191eb9c0f7959f5b0f974500 | |
parent | f60e6200f64f0fcf9d82027eaf40ddad0f1e2f17 (diff) | |
download | rockbox-1b79209ea7d02956cf27ce719516dcf495e26f98.tar.gz rockbox-1b79209ea7d02956cf27ce719516dcf495e26f98.zip |
Avoid EMAC stall in MULT31_SHIFT15.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7530 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/codecs/Tremor/asm_mcf5249.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/codecs/Tremor/asm_mcf5249.h b/apps/codecs/Tremor/asm_mcf5249.h index eb6ed759fc..16878d73ee 100644 --- a/apps/codecs/Tremor/asm_mcf5249.h +++ b/apps/codecs/Tremor/asm_mcf5249.h @@ -55,8 +55,8 @@ static inline ogg_int32_t MULT31_SHIFT15(ogg_int32_t x, ogg_int32_t y) { ogg_int32_t r; asm volatile ("mac.l %[x], %[y], %%acc0;" /* multiply */ + "mulu.l %[y], %[x];" /* get lower half, avoid emac stall */ "movclr.l %%acc0, %[r];" /* get higher half */ - "mulu.l %[y], %[x];" /* get lower half */ "asl.l #8, %[r];" /* hi<<16, plus one free */ "asl.l #8, %[r];" "lsr.l #8, %[x];" /* (unsigned)lo >> 15 */ |