summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/libwmapro/wmapro_math.h17
1 files changed, 1 insertions, 16 deletions
diff --git a/apps/codecs/libwmapro/wmapro_math.h b/apps/codecs/libwmapro/wmapro_math.h
index 17b4829362..54c5f45914 100644
--- a/apps/codecs/libwmapro/wmapro_math.h
+++ b/apps/codecs/libwmapro/wmapro_math.h
@@ -107,23 +107,8 @@
107 : [y] "d" ((Y))); \ 107 : [y] "d" ((Y))); \
108 x; \ 108 x; \
109 }) 109 })
110
111 /* Calculates: result = (X*Y)>>24 */
112 #define fixmul24(X,Y) \
113 ({ \
114 int32_t t1, t2; \
115 asm volatile ( \
116 "mac.l %[x],%[y],%%acc0 \n\t" /* multiply */ \
117 "move.l %%accext01, %[t1]\n\t" /* get lower 8 bits */ \
118 "movclr.l %%acc0,%[t2] \n\t" /* get higher 24 bits */ \
119 "asl.l #7,%[t2] \n\t" /* hi <<= 7, plus one free */ \
120 "move.b %[t1],%[t2] \n\t" /* combine result */ \
121 : [t1]"=&d"(t1), [t2]"=&d"(t2) \
122 : [x] "d" ((X)), [y] "d" ((Y))); \
123 t2; \
124 })
125 110
126 /* Calculates: result = (X*Y)>>31 (loses one bit of precision) */ 111 /* Calculates: result = (X*Y)>>31 (may lose msb to overflow) */
127 #define fixmul31(X,Y) \ 112 #define fixmul31(X,Y) \
128 ({ \ 113 ({ \
129 int32_t t; \ 114 int32_t t; \