diff options
Diffstat (limited to 'sysdeps/aarch64/multiarch/memmove.c')
-rw-r--r-- | sysdeps/aarch64/multiarch/memmove.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/sysdeps/aarch64/multiarch/memmove.c b/sysdeps/aarch64/multiarch/memmove.c index 12d77818a9..d0adefc547 100644 --- a/sysdeps/aarch64/multiarch/memmove.c +++ b/sysdeps/aarch64/multiarch/memmove.c @@ -33,6 +33,9 @@ extern __typeof (__redirect_memmove) __memmove_simd attribute_hidden; extern __typeof (__redirect_memmove) __memmove_thunderx attribute_hidden; extern __typeof (__redirect_memmove) __memmove_thunderx2 attribute_hidden; extern __typeof (__redirect_memmove) __memmove_falkor attribute_hidden; +# if HAVE_AARCH64_SVE_ASM +extern __typeof (__redirect_memmove) __memmove_a64fx attribute_hidden; +# endif libc_ifunc (__libc_memmove, (IS_THUNDERX (midr) @@ -40,12 +43,17 @@ libc_ifunc (__libc_memmove, : (IS_FALKOR (midr) || IS_PHECDA (midr) ? __memmove_falkor : (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr) - ? __memmove_thunderx2 - : (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr) - || IS_NEOVERSE_V1 (midr) - ? __memmove_simd + ? __memmove_thunderx2 + : (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr) + || IS_NEOVERSE_V1 (midr) + ? __memmove_simd +# if HAVE_AARCH64_SVE_ASM + : (IS_A64FX (midr) + ? __memmove_a64fx + : __memmove_generic)))))); +# else : __memmove_generic))))); - +# endif # undef memmove strong_alias (__libc_memmove, memmove); #endif |