This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2] aarch64: ifunc rename for kunpeng and its default memcpy version



On 27/12/2019 10:43, Xuelei Zhang wrote:
> Rename ifunc for kunpeng to kunpeng920, and modify the corresponding
> function files including IS_KUNPENG920 judgement.
> 
> Also, we select __memcpy_falkor for Kunpeng by default.

Could you split this patch in two? One to add the Kupeng 920 default
memcpy and another one to rename the macro?

> ---
>  sysdeps/aarch64/multiarch/memcpy.c             | 2 +-
>  sysdeps/aarch64/multiarch/memset.c             | 2 +-
>  sysdeps/aarch64/multiarch/strlen.c             | 2 +-
>  sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 2 +-
>  sysdeps/unix/sysv/linux/aarch64/cpu-features.h | 2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c
> index 13796f987fa..481be3a13ed 100644
> --- a/sysdeps/aarch64/multiarch/memcpy.c
> +++ b/sysdeps/aarch64/multiarch/memcpy.c
> @@ -36,7 +36,7 @@ extern __typeof (__redirect_memcpy) __memcpy_falkor attribute_hidden;
>  libc_ifunc (__libc_memcpy,
>              (IS_THUNDERX (midr)
>  	     ? __memcpy_thunderx
> -	     : (IS_FALKOR (midr) || IS_PHECDA (midr) || IS_ARES (midr)
> +	     : (IS_FALKOR (midr) || IS_PHECDA (midr) || IS_ARES (midr) || IS_KUNPENG920 (midr)
>  		? __memcpy_falkor
>  		: (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr)
>  		  ? __memcpy_thunderx2
> diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c
> index 4cc34b9b99a..98fff648742 100644
> --- a/sysdeps/aarch64/multiarch/memset.c
> +++ b/sysdeps/aarch64/multiarch/memset.c
> @@ -34,7 +34,7 @@ extern __typeof (__redirect_memset) __memset_kunpeng attribute_hidden;
>  extern __typeof (__redirect_memset) __memset_generic attribute_hidden;
>  
>  libc_ifunc (__libc_memset,
> -	    IS_KUNPENG (midr)
> +	    IS_KUNPENG920 (midr)
>  	    ?__memset_kunpeng
>  	    : ((IS_FALKOR (midr) || IS_PHECDA (midr)) && zva_size == 64
>  	     ? __memset_falkor
> diff --git a/sysdeps/aarch64/multiarch/strlen.c b/sysdeps/aarch64/multiarch/strlen.c
> index abf6513eeea..c2ce5eecf88 100644
> --- a/sysdeps/aarch64/multiarch/strlen.c
> +++ b/sysdeps/aarch64/multiarch/strlen.c
> @@ -34,7 +34,7 @@ extern __typeof (__redirect_strlen) __strlen_generic attribute_hidden;
>  extern __typeof (__redirect_strlen) __strlen_asimd attribute_hidden;
>  
>  libc_ifunc (__strlen,
> -	    (USE_ASIMD_STRLEN () || IS_KUNPENG(midr)
> +	    (USE_ASIMD_STRLEN () || IS_KUNPENG920 (midr)
>  	    ? __strlen_asimd
>  	    :__strlen_generic));
>  
> diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
> index d0e50d0898e..30dc208633b 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
> +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
> @@ -38,7 +38,7 @@ static struct cpu_list cpu_list[] = {
>        {"phecda",	 0x680F0000},
>        {"ares",		 0x411FD0C0},
>        {"emag",		 0x503F0001},
> -      {"kunpeng", 	 0x481FD010},
> +      {"kunpeng920", 	 0x481FD010},
>        {"generic", 	 0x0}
>  };
>  
> diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
> index 87c49956279..176c71cf500 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
> +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
> @@ -57,7 +57,7 @@
>  #define IS_EMAG(midr) (MIDR_IMPLEMENTOR(midr) == 'P'			      \
>                         && MIDR_PARTNUM(midr) == 0x000)
>  
> -#define IS_KUNPENG(midr) (MIDR_IMPLEMENTOR(midr) == 'H'			   \
> +#define IS_KUNPENG920(midr) (MIDR_IMPLEMENTOR(midr) == 'H'			   \
>                          && MIDR_PARTNUM(midr) == 0xd01)
>  
>  struct cpu_features
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]