diff options
author | Andrew Mahone <andrew.mahone@gmail.com> | 2010-02-01 01:36:46 +0000 |
---|---|---|
committer | Andrew Mahone <andrew.mahone@gmail.com> | 2010-02-01 01:36:46 +0000 |
commit | bff5a35c3c51ebe1fe72ee20147b16ede847971d (patch) | |
tree | 549fc29d08c298462b91b9d1cfc054d704faa4bd /apps/codecs | |
parent | 40a3e806974ff482006d4ee99b718a52d1e85224 (diff) | |
download | rockbox-bff5a35c3c51ebe1fe72ee20147b16ede847971d.tar.gz rockbox-bff5a35c3c51ebe1fe72ee20147b16ede847971d.zip |
FS#10943, optimized division and clz routines to replace libgcc routines for ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r-- | apps/codecs/lib/SOURCES | 1 | ||||
-rw-r--r-- | apps/codecs/lib/codeclib.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/apps/codecs/lib/SOURCES b/apps/codecs/lib/SOURCES index ffbe1af92e..a8c3feb1aa 100644 --- a/apps/codecs/lib/SOURCES +++ b/apps/codecs/lib/SOURCES | |||
@@ -8,6 +8,7 @@ mdct_lookup.c | |||
8 | mdct_arm.S | 8 | mdct_arm.S |
9 | setjmp_arm.S | 9 | setjmp_arm.S |
10 | udiv32_arm.S | 10 | udiv32_arm.S |
11 | ../../../firmware/target/arm/support-arm.S | ||
11 | #endif | 12 | #endif |
12 | 13 | ||
13 | #ifdef CPU_COLDFIRE | 14 | #ifdef CPU_COLDFIRE |
diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h index 926035f05e..2d34523de5 100644 --- a/apps/codecs/lib/codeclib.h +++ b/apps/codecs/lib/codeclib.h | |||
@@ -65,7 +65,7 @@ void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, con | |||
65 | 65 | ||
66 | extern void mdct_backward(int n, int32_t *in, int32_t *out); | 66 | extern void mdct_backward(int n, int32_t *in, int32_t *out); |
67 | 67 | ||
68 | #ifdef CPU_ARM | 68 | #if defined(CPU_ARM) && (ARM_ARCH < 5 || defined(USE_IRAM)) |
69 | /* optimised unsigned integer division for ARMv4, in IRAM */ | 69 | /* optimised unsigned integer division for ARMv4, in IRAM */ |
70 | unsigned udiv32_arm(unsigned a, unsigned b); | 70 | unsigned udiv32_arm(unsigned a, unsigned b); |
71 | #define UDIV32(a, b) udiv32_arm(a, b) | 71 | #define UDIV32(a, b) udiv32_arm(a, b) |