summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-11-12 09:18:36 +0000
committerJens Arnold <amiconn@rockbox.org>2008-11-12 09:18:36 +0000
commit1600e4918e45e4deb4e34dc1765c2d9ac28daf8c (patch)
treef321088bb069c83aad121458120c209eeeeed6ce
parentf32336e4a5ba3fe70e0af24b5d815518dfb223ea (diff)
downloadrockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.zip
rockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.tar.gz
rockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.tar.bz2
rockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.tar.xz
Tiny performance improvement for the (not yet usable) compression levels >= -c2000 on ARM7TDMI, utilizing the multiplier's early termination.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19099 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/demac/libdemac/vector_math16_arm7.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/codecs/demac/libdemac/vector_math16_arm7.h b/apps/codecs/demac/libdemac/vector_math16_arm7.h
index 1565ca9..653bb1f 100644
--- a/apps/codecs/demac/libdemac/vector_math16_arm7.h
+++ b/apps/codecs/demac/libdemac/vector_math16_arm7.h
@@ -217,19 +217,19 @@ static inline int32_t scalarproduct(int16_t* v1, int16_t* v2)
"mov r8, r8 , asr #16 \n" \
"mov r9, " #f2 ", lsl #16 \n" \
"mov r9, r9 , asr #16 \n" \
- "mla %[res], r8, r9, %[res] \n" \
+ "mla %[res], r9, r8, %[res] \n" \
"mov r8, " #f1 ", asr #16 \n" \
"mov r9, " #f2 ", asr #16 \n" \
- "mla %[res], r8, r9, %[res] \n"
-
+ "mla %[res], r9, r8, %[res] \n"
+
#define MLABLOCK2_U2(f1, f2) \
"mov r8, " #f1 ", lsl #16 \n" \
"mov r8, r8 , asr #16 \n" \
- "mla %[res], r8, r9, %[res] \n" \
+ "mla %[res], r9, r8, %[res] \n" \
"mov r8, " #f1 ", asr #16 \n" \
"mov r9, " #f2 ", lsl #16 \n" \
"mov r9, r9 , asr #16 \n" \
- "mla %[res], r8, r9, %[res] \n" \
+ "mla %[res], r9, r8, %[res] \n" \
"mov r9, " #f2 ", asr #16 \n"
asm volatile (