[1/2] aarch64: ifunc rename for kunpeng and its default memcpy version
Commit Message
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.
---
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(-)
Comments
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
>
@@ -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
@@ -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
@@ -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));
@@ -38,7 +38,7 @@ static struct cpu_list cpu_list[] = {
{"phecda", 0x680F0000},
{"ares", 0x411FD0C0},
{"emag", 0x503F0001},
- {"kunpeng", 0x481FD010},
+ {"kunpeng920", 0x481FD010},
{"generic", 0x0}
};
@@ -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