diff options
author | Jens Arnold <amiconn@rockbox.org> | 2008-11-12 09:18:36 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2008-11-12 09:18:36 +0000 |
commit | 1600e4918e45e4deb4e34dc1765c2d9ac28daf8c (patch) | |
tree | f321088bb069c83aad121458120c209eeeeed6ce /apps | |
parent | f32336e4a5ba3fe70e0af24b5d815518dfb223ea (diff) | |
download | rockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.tar.gz rockbox-1600e4918e45e4deb4e34dc1765c2d9ac28daf8c.zip |
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
Diffstat (limited to 'apps')
-rw-r--r-- | apps/codecs/demac/libdemac/vector_math16_arm7.h | 10 |
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 1565ca9602..653bb1f53f 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) | |||
217 | "mov r8, r8 , asr #16 \n" \ | 217 | "mov r8, r8 , asr #16 \n" \ |
218 | "mov r9, " #f2 ", lsl #16 \n" \ | 218 | "mov r9, " #f2 ", lsl #16 \n" \ |
219 | "mov r9, r9 , asr #16 \n" \ | 219 | "mov r9, r9 , asr #16 \n" \ |
220 | "mla %[res], r8, r9, %[res] \n" \ | 220 | "mla %[res], r9, r8, %[res] \n" \ |
221 | "mov r8, " #f1 ", asr #16 \n" \ | 221 | "mov r8, " #f1 ", asr #16 \n" \ |
222 | "mov r9, " #f2 ", asr #16 \n" \ | 222 | "mov r9, " #f2 ", asr #16 \n" \ |
223 | "mla %[res], r8, r9, %[res] \n" | 223 | "mla %[res], r9, r8, %[res] \n" |
224 | 224 | ||
225 | #define MLABLOCK2_U2(f1, f2) \ | 225 | #define MLABLOCK2_U2(f1, f2) \ |
226 | "mov r8, " #f1 ", lsl #16 \n" \ | 226 | "mov r8, " #f1 ", lsl #16 \n" \ |
227 | "mov r8, r8 , asr #16 \n" \ | 227 | "mov r8, r8 , asr #16 \n" \ |
228 | "mla %[res], r8, r9, %[res] \n" \ | 228 | "mla %[res], r9, r8, %[res] \n" \ |
229 | "mov r8, " #f1 ", asr #16 \n" \ | 229 | "mov r8, " #f1 ", asr #16 \n" \ |
230 | "mov r9, " #f2 ", lsl #16 \n" \ | 230 | "mov r9, " #f2 ", lsl #16 \n" \ |
231 | "mov r9, r9 , asr #16 \n" \ | 231 | "mov r9, r9 , asr #16 \n" \ |
232 | "mla %[res], r8, r9, %[res] \n" \ | 232 | "mla %[res], r9, r8, %[res] \n" \ |
233 | "mov r9, " #f2 ", asr #16 \n" | 233 | "mov r9, " #f2 ", asr #16 \n" |
234 | 234 | ||
235 | asm volatile ( | 235 | asm volatile ( |