diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2019-02-12 17:19:51 +0000 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2019-02-12 17:19:51 +0000 |
commit | 16f87cfd630522afe745a0cf665287b8fe206cf4 (patch) | |
tree | 9f33bc5ad9ad0bbf3f1975ce25019e6acdd1f183 /benchtests/bench-memccpy.c | |
parent | 0c6d82e979d562147c9cfe0e6f65b42a904288bc (diff) | |
download | glibc-16f87cfd630522afe745a0cf665287b8fe206cf4.zip glibc-16f87cfd630522afe745a0cf665287b8fe206cf4.tar.gz glibc-16f87cfd630522afe745a0cf665287b8fe206cf4.tar.bz2 |
String benchtest cleanup
Continue cleanup of the string benchtests. Remove simplistic
byte-oriented versions with faster generic implementations.
Remove bcopy/bzero benchmarks (bcopy/bzero are obsolete and never
emitted by compilers). Remove builtin versions of memcpy, memset
and strlen. Remove all remaining "stupid" implementations given
they are always slower than the "simple" variants and thus don't
add anything useful.
* benchtests/bench-strcasecmp.c (stupid_strcasecmp): Remove.
* benchtests/bench-strcasestr.c (stupid_strcasestr): Remove.
* benchtests/bench-strchr.c (stupid_strchr): Remove.
* benchtests/bench-strcmp.c (stupid_strcmp): Remove.
* benchtests/bench-strcspn.c (stupid_strcspn): Remove.
* benchtests/bench-strlen.c (builtin_strlen): Remove.
* benchtests/bench-strncasecmp.c (stupid_strncasecmp): Remove.
* benchtests/bench-strncmp.c (stupid_strncmp): Remove.
* benchtests/bench-strpbrk.c (stupid_strpbrk): Remove.
* benchtests/bench-strspn.c (stupid_strspn): Remove.
* benchtests/Makefile: Remove bench-bcopy.c and bench-bzero.c.
* benchtests/bench-bcopy.c: Delete file.
* benchtests/bench-bzero.c: Likewise.
* benchtests/bench-memccpy.c (stupid_memccpy): Remove.
(simple_memccpy): Remove.
(generic_memccpy): Add function.
* benchtests/bench-memcpy.c: (builtin_memcpy): Remove.
* benchtests/bench-memmove.c (simple_bcopy): Remove.
* benchtests/bench-mempcpy.c (simple_mempcpy): Remove.
(generic_mempcpy): Add new function.
* benchtests/bench-memset.c (simple_bzero): Remove.
(builtin_bzero): Remove.
(builtin_memset): Remove.
* benchtests/bench-rawmemchr.c (simple_rawmemchr): Remove.
(generic_rawmemchr): Add new function.
Diffstat (limited to 'benchtests/bench-memccpy.c')
-rw-r--r-- | benchtests/bench-memccpy.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/benchtests/bench-memccpy.c b/benchtests/bench-memccpy.c index 6dca16b..d3a2df5 100644 --- a/benchtests/bench-memccpy.c +++ b/benchtests/bench-memccpy.c @@ -20,28 +20,8 @@ #define TEST_NAME "memccpy" #include "bench-string.h" -void *simple_memccpy (void *, const void *, int, size_t); -void *stupid_memccpy (void *, const void *, int, size_t); - -IMPL (stupid_memccpy, 0) -IMPL (simple_memccpy, 0) -IMPL (memccpy, 1) - -void * -simple_memccpy (void *dst, const void *src, int c, size_t n) -{ - const char *s = src; - char *d = dst; - - while (n-- > 0) - if ((*d++ = *s++) == (char) c) - return d; - - return NULL; -} - void * -stupid_memccpy (void *dst, const void *src, int c, size_t n) +generic_memccpy (void *dst, const void *src, int c, size_t n) { void *p = memchr (src, c, n); @@ -52,6 +32,9 @@ stupid_memccpy (void *dst, const void *src, int c, size_t n) return NULL; } +IMPL (memccpy, 1) +IMPL (generic_memccpy, 0) + typedef void *(*proto_t) (void *, const void *, int c, size_t); static void |