[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Delete x86 string functions
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Delete x86 string functions |
Date: |
Wed, 18 Jan 2023 02:03:59 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Flavio Cruz, le mar. 17 janv. 2023 00:11:16 -0500, a ecrit:
> The i386 functions are not used and the more portable versions in
> kern/strings.c
> are faster (1-4x faster in synthetic benchmarks compiled with -O2 on my
> x86_64 box).
> ---
> i386/i386/strings.c | 54 ---------------------------------------------
> 1 file changed, 54 deletions(-)
>
> diff --git a/i386/i386/strings.c b/i386/i386/strings.c
> index 84a3bc16..f1752de2 100644
> --- a/i386/i386/strings.c
> +++ b/i386/i386/strings.c
> @@ -94,57 +94,3 @@ memcmp(const void *s1, const void *s2, size_t n)
> return (int)c1 - (int)c2;
> }
> #endif /* ARCH_STRING_MEMCMP */
> -
> -#ifdef ARCH_STRING_STRLEN
> -size_t
> -strlen(const char *s)
> -{
> - size_t n;
> -
> - n = (size_t)-1;
> - asm volatile("repne scasb"
> - : "+D" (s), "+c" (n)
> - : "a" (0)
> - : "memory");
> - return ~n - 1;
> -}
> -#endif /* ARCH_STRING_STRLEN */
> -
> -#ifdef ARCH_STRING_STRCPY
> -char *
> -strcpy(char *dest, const char *src)
> -{
> - char *orig_dest;
> -
> - orig_dest = dest;
> - asm volatile("1:\n"
> - "lodsb\n"
> - "stosb\n"
> - "testb %%al, %%al\n"
> - "jnz 1b\n"
> - : "+D" (dest), "+S" (src)
> - : : "al", "memory");
> - return orig_dest;
> -}
> -#endif /* ARCH_STRING_STRCPY */
> -
> -#ifdef ARCH_STRING_STRCMP
> -int
> -strcmp(const char *s1, const char *s2)
> -{
> - unsigned char c1, c2;
> -
> - asm volatile("1:\n"
> - "lodsb\n"
> - "scasb\n"
> - "jne 1f\n"
> - "testb %%al, %%al\n"
> - "jnz 1b\n"
> - "1:\n"
> - : "+D" (s1), "+S" (s2)
> - : : "al", "memory");
> - c1 = *(((const unsigned char *)s1) - 1);
> - c2 = *(((const unsigned char *)s2) - 1);
> - return (int)c1 - (int)c2;
> -}
> -#endif /* ARCH_STRING_STRCMP */
> --
> 2.39.0
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.