summaryrefslogtreecommitdiff
path: root/apps/codecs/libwmapro
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libwmapro')
-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 17b4829..54c5f45 100644
--- a/apps/codecs/libwmapro/wmapro_math.h
+++ b/apps/codecs/libwmapro/wmapro_math.h
@@ -107,23 +107,8 @@
: [y] "d" ((Y))); \
x; \
})
-
- /* Calculates: result = (X*Y)>>24 */
- #define fixmul24(X,Y) \
- ({ \
- int32_t t1, t2; \
- asm volatile ( \
- "mac.l %[x],%[y],%%acc0 \n\t" /* multiply */ \
- "move.l %%accext01, %[t1]\n\t" /* get lower 8 bits */ \
- "movclr.l %%acc0,%[t2] \n\t" /* get higher 24 bits */ \
- "asl.l #7,%[t2] \n\t" /* hi <<= 7, plus one free */ \
- "move.b %[t1],%[t2] \n\t" /* combine result */ \
- : [t1]"=&d"(t1), [t2]"=&d"(t2) \
- : [x] "d" ((X)), [y] "d" ((Y))); \
- t2; \
- })
- /* Calculates: result = (X*Y)>>31 (loses one bit of precision) */
+ /* Calculates: result = (X*Y)>>31 (may lose msb to overflow) */
#define fixmul31(X,Y) \
({ \
int32_t t; \