summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2010-11-23 11:58:00 +0000
committerNils Wallménius <nils@rockbox.org>2010-11-23 11:58:00 +0000
commit8802c5de9d7251f3be69cec287384af774b3a27f (patch)
treeaee2722fb2a518160309d1169ae43878e7837055 /apps
parent16d44e9b0272551cbc0bfdd99ac0b5ab8cdb6e2c (diff)
downloadrockbox-8802c5de9d7251f3be69cec287384af774b3a27f.tar.gz
rockbox-8802c5de9d7251f3be69cec287384af774b3a27f.zip
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
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/lib/asm_mcf5249.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/apps/codecs/lib/asm_mcf5249.h b/apps/codecs/lib/asm_mcf5249.h
index 12b69c9e51..9be92d2f2d 100644
--- a/apps/codecs/lib/asm_mcf5249.h
+++ b/apps/codecs/lib/asm_mcf5249.h
@@ -117,7 +117,7 @@ void XNPROD31(int32_t a, int32_t b,
117 "asr.l #1, %[x];" \ 117 "asr.l #1, %[x];" \
118 "movclr.l %%acc1, %[y];" \ 118 "movclr.l %%acc1, %[y];" \
119 "asr.l #1, %[y];" \ 119 "asr.l #1, %[y];" \
120 : [x] "=&d" (_x), [y] "=&d" (_y) \ 120 : [x] "=d" (_x), [y] "=d" (_y) \
121 : [a] "r" (_a), [b] "r" (_b), \ 121 : [a] "r" (_a), [b] "r" (_b), \
122 [t] "r" (_t), [v] "r" (_v) \ 122 [t] "r" (_t), [v] "r" (_v) \
123 : "cc"); 123 : "cc");
@@ -129,7 +129,7 @@ void XNPROD31(int32_t a, int32_t b,
129 "msac.l %[a], %[v], %%acc1;" \ 129 "msac.l %[a], %[v], %%acc1;" \
130 "movclr.l %%acc0, %[x];" \ 130 "movclr.l %%acc0, %[x];" \
131 "movclr.l %%acc1, %[y];" \ 131 "movclr.l %%acc1, %[y];" \
132 : [x] "=&d" (_x), [y] "=&d" (_y) \ 132 : [x] "=d" (_x), [y] "=d" (_y) \
133 : [a] "r" (_a), [b] "r" (_b), \ 133 : [a] "r" (_a), [b] "r" (_b), \
134 [t] "r" (_t), [v] "r" (_v) \ 134 [t] "r" (_t), [v] "r" (_v) \
135 : "cc"); 135 : "cc");
@@ -141,7 +141,7 @@ void XNPROD31(int32_t a, int32_t b,
141 "mac.l %[a], %[v], %%acc1;" \ 141 "mac.l %[a], %[v], %%acc1;" \
142 "movclr.l %%acc0, %[x];" \ 142 "movclr.l %%acc0, %[x];" \
143 "movclr.l %%acc1, %[y];" \ 143 "movclr.l %%acc1, %[y];" \
144 : [x] "=&d" (_x), [y] "=&d" (_y) \ 144 : [x] "=d" (_x), [y] "=d" (_y) \
145 : [a] "r" (_a), [b] "r" (_b), \ 145 : [a] "r" (_a), [b] "r" (_b), \
146 [t] "r" (_t), [v] "r" (_v) \ 146 [t] "r" (_t), [v] "r" (_v) \
147 : "cc"); 147 : "cc");