Message ID | PAWPR08MB8982BA6546E50B0DA31BC90483B49@PAWPR08MB8982.eurprd08.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | Benchtests: Remove simple_strcpy_chk | expand |
On 08/03/23 07:53, Wilco Dijkstra via Libc-alpha wrote: > > Remove the slow byte oriented simple_strcpy_chk and simple_stpcpy_chk. > Adjust iteration count to increase benchmark time. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > --- > > diff --git a/benchtests/bench-stpcpy_chk.c b/benchtests/bench-stpcpy_chk.c > index aaacd336bad6e5f5f4f420773480749ed05ee9ac..85d5a5e9240110533ca7b25103c2e5e64bc0e948 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 6fce90cc9879d7b9bdc5b13a84eaaaadbde97a5b..48ecaaf392201cbce41a6f1520c630d68b59aacb 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) >
diff --git a/benchtests/bench-stpcpy_chk.c b/benchtests/bench-stpcpy_chk.c index aaacd336bad6e5f5f4f420773480749ed05ee9ac..85d5a5e9240110533ca7b25103c2e5e64bc0e948 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 6fce90cc9879d7b9bdc5b13a84eaaaadbde97a5b..48ecaaf392201cbce41a6f1520c630d68b59aacb 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)