1
0
Fork 0
forked from len0rd/rockbox

codeclib: don't mark the outputs for the coldfire X(N)PROD_R asm macros as earlyclobbers as they are not, lets gcc produce better code. Speedup of 0.2-0.3MHz for codecs using the mdct, (larger speedup when building with gcc 4.4).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28650 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Nils Wallménius 2010-11-23 11:58:00 +00:00
parent 16d44e9b02
commit 8802c5de9d

View file

@ -117,7 +117,7 @@ void XNPROD31(int32_t a, int32_t b,
"asr.l #1, %[x];" \
"movclr.l %%acc1, %[y];" \
"asr.l #1, %[y];" \
: [x] "=&d" (_x), [y] "=&d" (_y) \
: [x] "=d" (_x), [y] "=d" (_y) \
: [a] "r" (_a), [b] "r" (_b), \
[t] "r" (_t), [v] "r" (_v) \
: "cc");
@ -129,7 +129,7 @@ void XNPROD31(int32_t a, int32_t b,
"msac.l %[a], %[v], %%acc1;" \
"movclr.l %%acc0, %[x];" \
"movclr.l %%acc1, %[y];" \
: [x] "=&d" (_x), [y] "=&d" (_y) \
: [x] "=d" (_x), [y] "=d" (_y) \
: [a] "r" (_a), [b] "r" (_b), \
[t] "r" (_t), [v] "r" (_v) \
: "cc");
@ -141,7 +141,7 @@ void XNPROD31(int32_t a, int32_t b,
"mac.l %[a], %[v], %%acc1;" \
"movclr.l %%acc0, %[x];" \
"movclr.l %%acc1, %[y];" \
: [x] "=&d" (_x), [y] "=&d" (_y) \
: [x] "=d" (_x), [y] "=d" (_y) \
: [a] "r" (_a), [b] "r" (_b), \
[t] "r" (_t), [v] "r" (_v) \
: "cc");