summaryrefslogtreecommitdiff
path: root/firmware/common/memset16.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-09-07 00:16:04 +0000
committerJens Arnold <amiconn@rockbox.org>2006-09-07 00:16:04 +0000
commit9d2f7b5c6dd01e113abf5ff75fa24d389da1f244 (patch)
tree6468332a4cc60b3a1e38adfdbd55d97f1ac32b01 /firmware/common/memset16.c
parent825fb8a2649b187c27d93ec28a4bb87fa93797f2 (diff)
downloadrockbox-9d2f7b5c6dd01e113abf5ff75fa24d389da1f244.tar.gz
rockbox-9d2f7b5c6dd01e113abf5ff75fa24d389da1f244.zip
Assembler optimised memset16() for ARM, by Thom Johansen. Should speed up LCD clearing and solid rectangle drawing on colour iPods somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10900 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common/memset16.c')
-rwxr-xr-xfirmware/common/memset16.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/firmware/common/memset16.c b/firmware/common/memset16.c
index bc187a5d25..5f0fc3fe08 100755
--- a/firmware/common/memset16.c
+++ b/firmware/common/memset16.c
@@ -22,15 +22,13 @@
22#define UNALIGNED(X) ((long)X & (sizeof(long) - 1)) 22#define UNALIGNED(X) ((long)X & (sizeof(long) - 1))
23#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) 23#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE)
24 24
25void *memset16(void *dst, int val, size_t len) 25void memset16(void *dst, int val, size_t len)
26{ 26{
27#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) 27#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
28 unsigned short *p = (unsigned short *)dst; 28 unsigned short *p = (unsigned short *)dst;
29 29
30 while (len--) 30 while (len--)
31 *p++ = val; 31 *p++ = val;
32
33 return dst;
34#else 32#else
35 unsigned short *p = (unsigned short *)dst; 33 unsigned short *p = (unsigned short *)dst;
36 unsigned int i; 34 unsigned int i;
@@ -73,7 +71,5 @@ void *memset16(void *dst, int val, size_t len)
73 71
74 while (len--) 72 while (len--)
75 *p++ = val; 73 *p++ = val;
76
77 return dst;
78#endif /* not PREFER_SIZE_OVER_SPEED */ 74#endif /* not PREFER_SIZE_OVER_SPEED */
79} 75}