From 1b79209ea7d02956cf27ce719516dcf495e26f98 Mon Sep 17 00:00:00 2001 From: Thom Johansen Date: Wed, 21 Sep 2005 23:09:19 +0000 Subject: Avoid EMAC stall in MULT31_SHIFT15. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7530 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/Tremor/asm_mcf5249.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 */ -- cgit v1.2.3