aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilco Dijkstra <wilco.dijkstra@arm.com>2023-03-03 12:44:46 +0000
committerWilco Dijkstra <wilco.dijkstra@arm.com>2023-03-08 18:36:25 +0000
commit73a284f618aa81d2bd1f93b299ac5dbf95f396b1 (patch)
tree5e2a0a138e8aed8964404a57ead595af679be8b7
parentd1c3c0e4fefb92634fd2583d369cdb71b804e7a6 (diff)
downloadglibc-73a284f618aa81d2bd1f93b299ac5dbf95f396b1.tar
glibc-73a284f618aa81d2bd1f93b299ac5dbf95f396b1.tar.gz
glibc-73a284f618aa81d2bd1f93b299ac5dbf95f396b1.tar.bz2
glibc-73a284f618aa81d2bd1f93b299ac5dbf95f396b1.zip
Benchtests: Remove simple_strcpy_chk
Remove the slow byte oriented simple_strcpy_chk and simple_stpcpy_chk. Adjust iteration count to increase benchmark time. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r--benchtests/bench-stpcpy_chk.c13
-rw-r--r--benchtests/bench-strcpy_chk.c15
2 files changed, 1 insertions, 27 deletions
diff --git a/benchtests/bench-stpcpy_chk.c b/benchtests/bench-stpcpy_chk.c
index aaacd336ba..85d5a5e924 100644
--- a/benchtests/bench-stpcpy_chk.c
+++ b/benchtests/bench-stpcpy_chk.c
@@ -22,24 +22,11 @@
#include "bench-string.h"
extern void __attribute__ ((noreturn)) __chk_fail (void);
-char *simple_stpcpy_chk (char *, const char *, size_t);
extern char *normal_stpcpy (char *, const char *, size_t)
__asm ("stpcpy");
extern char *__stpcpy_chk (char *, const char *, size_t);
-IMPL (simple_stpcpy_chk, 0)
IMPL (normal_stpcpy, 1)
IMPL (__stpcpy_chk, 2)
-char *
-simple_stpcpy_chk (char *dst, const char *src, size_t len)
-{
- if (! len)
- __chk_fail ();
- while ((*dst++ = *src++) != '\0')
- if (--len == 0)
- __chk_fail ();
- return dst - 1;
-}
-
#include "bench-strcpy_chk.c"
diff --git a/benchtests/bench-strcpy_chk.c b/benchtests/bench-strcpy_chk.c
index 6fce90cc98..48ecaaf392 100644
--- a/benchtests/bench-strcpy_chk.c
+++ b/benchtests/bench-strcpy_chk.c
@@ -26,26 +26,13 @@
symbol, which is part of the public ABI and may be used
externally. */
extern void __attribute__ ((noreturn)) __chk_fail (void);
-char *simple_strcpy_chk (char *, const char *, size_t);
extern char *normal_strcpy (char *, const char *, size_t)
__asm ("strcpy");
extern char *__strcpy_chk (char *, const char *, size_t);
-IMPL (simple_strcpy_chk, 0)
IMPL (normal_strcpy, 1)
IMPL (__strcpy_chk, 2)
-char *
-simple_strcpy_chk (char *dst, const char *src, size_t len)
-{
- char *ret = dst;
- if (! len)
- __chk_fail ();
- while ((*dst++ = *src++) != '\0')
- if (--len == 0)
- __chk_fail ();
- return ret;
-}
#endif
#include <fcntl.h>
@@ -77,7 +64,7 @@ do_one_test (impl_t *impl, char *dst, const char *src,
size_t len, size_t dlen)
{
char *res;
- size_t i, iters = INNER_LOOP_ITERS8;
+ size_t i, iters = INNER_LOOP_ITERS_LARGE;
timing_t start, stop, cur;
if (dlen <= len)