mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
AArch64: Use __memcpy_simd on Neoverse N2/V1
Add CPU detection of Neoverse N2 and Neoverse V1, and select __memcpy_simd as
the memcpy/memmove ifunc.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
(cherry picked from commit e11ed9d2b4
)
This commit is contained in:
parent
be3eaffd5a
commit
28ff0f650c
@ -41,7 +41,8 @@ libc_ifunc (__libc_memcpy,
|
||||
? __memcpy_falkor
|
||||
: (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr)
|
||||
? __memcpy_thunderx2
|
||||
: (IS_NEOVERSE_N1 (midr)
|
||||
: (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr)
|
||||
|| IS_NEOVERSE_V1 (midr)
|
||||
? __memcpy_simd
|
||||
: __memcpy_generic)))));
|
||||
|
||||
|
@ -38,7 +38,8 @@ libc_ifunc (__libc_memmove,
|
||||
? __memmove_thunderx
|
||||
: (IS_FALKOR (midr) || IS_PHECDA (midr)
|
||||
? __memmove_falkor
|
||||
: (IS_NEOVERSE_N1 (midr)
|
||||
: (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr)
|
||||
|| IS_NEOVERSE_V1 (midr)
|
||||
? __memmove_simd
|
||||
: __memmove_generic))));
|
||||
|
||||
|
@ -53,6 +53,10 @@
|
||||
&& MIDR_PARTNUM(midr) == 0x000)
|
||||
#define IS_NEOVERSE_N1(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \
|
||||
&& MIDR_PARTNUM(midr) == 0xd0c)
|
||||
#define IS_NEOVERSE_N2(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \
|
||||
&& MIDR_PARTNUM(midr) == 0xd49)
|
||||
#define IS_NEOVERSE_V1(midr) (MIDR_IMPLEMENTOR(midr) == 'A' \
|
||||
&& MIDR_PARTNUM(midr) == 0xd40)
|
||||
|
||||
struct cpu_features
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user