aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/aarch64/multiarch/memset.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/aarch64/multiarch/memset.c')
-rw-r--r--sysdeps/aarch64/multiarch/memset.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c
index 28d3926..d7d9bbb 100644
--- a/sysdeps/aarch64/multiarch/memset.c
+++ b/sysdeps/aarch64/multiarch/memset.c
@@ -31,16 +31,25 @@ extern __typeof (__redirect_memset) __libc_memset;
extern __typeof (__redirect_memset) __memset_falkor attribute_hidden;
extern __typeof (__redirect_memset) __memset_emag attribute_hidden;
extern __typeof (__redirect_memset) __memset_kunpeng attribute_hidden;
+# if HAVE_AARCH64_SVE_ASM
+extern __typeof (__redirect_memset) __memset_a64fx attribute_hidden;
+# endif
extern __typeof (__redirect_memset) __memset_generic attribute_hidden;
libc_ifunc (__libc_memset,
IS_KUNPENG920 (midr)
?__memset_kunpeng
: ((IS_FALKOR (midr) || IS_PHECDA (midr)) && zva_size == 64
- ? __memset_falkor
- : (IS_EMAG (midr) && zva_size == 64
- ? __memset_emag
- : __memset_generic)));
+ ? __memset_falkor
+ : (IS_EMAG (midr) && zva_size == 64
+ ? __memset_emag
+# if HAVE_AARCH64_SVE_ASM
+ : (IS_A64FX (midr)
+ ? __memset_a64fx
+ : __memset_generic))));
+# else
+ : __memset_generic)));
+# endif
# undef memset
strong_alias (__libc_memset, memset);