diff options
author | Nils Wallménius <nils@rockbox.org> | 2010-06-17 16:01:20 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2010-06-17 16:01:20 +0000 |
commit | b6c17c2c82602723a033298fafbc37b9462a9f34 (patch) | |
tree | 2949861d94fe4e34405851921c4744355fe7c689 /apps | |
parent | 10719ef6490df6998ca62f768a8ba9b1f1c6d616 (diff) |
Delete some duplicate inline asm macros since they now live in the codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26891 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/codecs/libtremor/asm_arm.h | 44 | ||||
-rw-r--r-- | apps/codecs/libtremor/asm_mcf5249.h | 64 |
2 files changed, 0 insertions, 108 deletions
diff --git a/apps/codecs/libtremor/asm_arm.h b/apps/codecs/libtremor/asm_arm.h index 95f3bef0fc..ada0604a3a 100644 --- a/apps/codecs/libtremor/asm_arm.h +++ b/apps/codecs/libtremor/asm_arm.h @@ -43,50 +43,6 @@ static inline ogg_int32_t MULT31_SHIFT15(ogg_int32_t x, ogg_int32_t y) { return(hi); } -#define XPROD32(a, b, t, v, x, y) \ -{ \ - long l; \ - asm( "smull %0, %1, %4, %6\n\t" \ - "rsb %3, %4, #0\n\t" \ - "smlal %0, %1, %5, %7\n\t" \ - "smull %0, %2, %5, %6\n\t" \ - "smlal %0, %2, %3, %7" \ - : "=&r" (l), "=&r" (x), "=&r" (y), "=r" ((a)) \ - : "3" ((a)), "r" ((b)), "r" ((t)), "r" ((v)) ); \ -} - -static inline void XPROD31(ogg_int32_t a, ogg_int32_t b, - ogg_int32_t t, ogg_int32_t v, - ogg_int32_t *x, ogg_int32_t *y) -{ - int x1, y1, l; - asm( "smull %0, %1, %4, %6\n\t" - "rsb %3, %4, #0\n\t" - "smlal %0, %1, %5, %7\n\t" - "smull %0, %2, %5, %6\n\t" - "smlal %0, %2, %3, %7" - : "=&r" (l), "=&r" (x1), "=&r" (y1), "=r" (a) - : "3" (a), "r" (b), "r" (t), "r" (v) ); - *x = x1 << 1; - *y = y1 << 1; -} - -static inline void XNPROD31(ogg_int32_t a, ogg_int32_t b, - ogg_int32_t t, ogg_int32_t v, - ogg_int32_t *x, ogg_int32_t *y) -{ - int x1, y1, l; - asm( "smull %0, %1, %3, %5\n\t" - "rsb %2, %4, #0\n\t" - "smlal %0, %1, %2, %6\n\t" - "smull %0, %2, %4, %5\n\t" - "smlal %0, %2, %3, %6" - : "=&r" (l), "=&r" (x1), "=&r" (y1) - : "r" (a), "r" (b), "r" (t), "r" (v) ); - *x = x1 << 1; - *y = y1 << 1; -} - #ifndef _V_VECT_OPS #define _V_VECT_OPS diff --git a/apps/codecs/libtremor/asm_mcf5249.h b/apps/codecs/libtremor/asm_mcf5249.h index 224a861afd..e4f76ea411 100644 --- a/apps/codecs/libtremor/asm_mcf5249.h +++ b/apps/codecs/libtremor/asm_mcf5249.h @@ -70,70 +70,6 @@ static inline ogg_int32_t MULT31_SHIFT15(ogg_int32_t x, ogg_int32_t y) { return r; } - -static inline -void XPROD31(ogg_int32_t a, ogg_int32_t b, - ogg_int32_t t, ogg_int32_t v, - ogg_int32_t *x, ogg_int32_t *y) -{ - asm volatile ("mac.l %[a], %[t], %%acc0;" - "mac.l %[b], %[v], %%acc0;" - "mac.l %[b], %[t], %%acc1;" - "msac.l %[a], %[v], %%acc1;" - "movclr.l %%acc0, %[a];" - "move.l %[a], (%[x]);" - "movclr.l %%acc1, %[a];" - "move.l %[a], (%[y]);" - : [a] "+&r" (a) - : [x] "a" (x), [y] "a" (y), - [b] "r" (b), [t] "r" (t), [v] "r" (v) - : "cc", "memory"); -} - - -static inline -void XNPROD31(ogg_int32_t a, ogg_int32_t b, - ogg_int32_t t, ogg_int32_t v, - ogg_int32_t *x, ogg_int32_t *y) -{ - asm volatile ("mac.l %[a], %[t], %%acc0;" - "msac.l %[b], %[v], %%acc0;" - "mac.l %[b], %[t], %%acc1;" - "mac.l %[a], %[v], %%acc1;" - "movclr.l %%acc0, %[a];" - "move.l %[a], (%[x]);" - "movclr.l %%acc1, %[a];" - "move.l %[a], (%[y]);" - : [a] "+&r" (a) - : [x] "a" (x), [y] "a" (y), - [b] "r" (b), [t] "r" (t), [v] "r" (v) - : "cc", "memory"); -} - - -#if 0 /* canonical Tremor definition */ -#define XPROD32(_a, _b, _t, _v, _x, _y) \ - { (_x)=MULT32(_a,_t)+MULT32(_b,_v); \ - (_y)=MULT32(_b,_t)-MULT32(_a,_v); } -#endif - -/* this could lose the LSB by overflow, but i don't think it'll ever happen. - if anyone think they can hear a bug caused by this, please try the above - version. */ -#define XPROD32(_a, _b, _t, _v, _x, _y) \ - asm volatile ("mac.l %[a], %[t], %%acc0;" \ - "mac.l %[b], %[v], %%acc0;" \ - "mac.l %[b], %[t], %%acc1;" \ - "msac.l %[a], %[v], %%acc1;" \ - "movclr.l %%acc0, %[x];" \ - "asr.l #1, %[x];" \ - "movclr.l %%acc1, %[y];" \ - "asr.l #1, %[y];" \ - : [x] "=&d" (_x), [y] "=&d" (_y) \ - : [a] "r" (_a), [b] "r" (_b), \ - [t] "r" (_t), [v] "r" (_v) \ - : "cc"); - #ifndef _V_VECT_OPS #define _V_VECT_OPS |