Benchtests: Remove simple_strcpy_chk

Message ID PAWPR08MB8982BA6546E50B0DA31BC90483B49@PAWPR08MB8982.eurprd08.prod.outlook.com
State Committed
Commit 73a284f618aa81d2bd1f93b299ac5dbf95f396b1
Headers
Series Benchtests: Remove simple_strcpy_chk |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

Wilco Dijkstra March 8, 2023, 10:53 a.m. UTC
  Remove the slow byte oriented simple_strcpy_chk and simple_stpcpy_chk.
Adjust iteration count to increase benchmark time.

---
  

Comments

Adhemerval Zanella March 8, 2023, 3:19 p.m. UTC | #1
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)
>
  

Patch

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)