1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Jens Arnold 2008-11-12 09:18:36 +00:00
parent f32336e4a5
commit 1600e4918e

View file

@ -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 (