Message ID | 20191227134328.46636-1-zhangxuelei4@huawei.com |
---|---|
State | New |
Headers | show |
Series | [1/2] aarch64: ifunc rename for kunpeng and its default memcpy version | expand |
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 >
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