about summary refs log tree commit diff
path: root/sysdeps/aarch64/multiarch/memset.c
diff options
context:
space:
mode:
authorWilco Dijkstra <wilco.dijkstra@arm.com>2023-10-26 17:07:21 +0100
committerWilco Dijkstra <wilco.dijkstra@arm.com>2024-04-09 17:58:28 +0100
commitff17116c1e111c809f1c3b3d3097f039d7d157f6 (patch)
treebf5e70fb9492465415d31246502733382a97f4d9 /sysdeps/aarch64/multiarch/memset.c
parent7e999181c2b1e1ad671b82b41ca7ab36d6282507 (diff)
downloadglibc-ff17116c1e111c809f1c3b3d3097f039d7d157f6.tar.gz
glibc-ff17116c1e111c809f1c3b3d3097f039d7d157f6.tar.xz
glibc-ff17116c1e111c809f1c3b3d3097f039d7d157f6.zip
AArch64: Add memset_zva64
Add a specialized memset for the common ZVA size of 64 to avoid the
overhead of reading the ZVA size.  Since the code is identical to
__memset_falkor, remove the latter.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
(cherry picked from commit 3d7090f14b13312320e425b27dcf0fe72de026fd)
Diffstat (limited to 'sysdeps/aarch64/multiarch/memset.c')
-rw-r--r--sysdeps/aarch64/multiarch/memset.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c
index 9a69a99d53..918db12c65 100644
--- a/sysdeps/aarch64/multiarch/memset.c
+++ b/sysdeps/aarch64/multiarch/memset.c
@@ -28,7 +28,7 @@
 
 extern __typeof (__redirect_memset) __libc_memset;
 
-extern __typeof (__redirect_memset) __memset_falkor attribute_hidden;
+extern __typeof (__redirect_memset) __memset_zva64 attribute_hidden;
 extern __typeof (__redirect_memset) __memset_emag attribute_hidden;
 extern __typeof (__redirect_memset) __memset_kunpeng attribute_hidden;
 extern __typeof (__redirect_memset) __memset_a64fx attribute_hidden;
@@ -47,18 +47,17 @@ select_memset_ifunc (void)
     {
       if (IS_A64FX (midr) && zva_size == 256)
 	return __memset_a64fx;
-      return __memset_generic;
     }
 
   if (IS_KUNPENG920 (midr))
     return __memset_kunpeng;
 
-  if ((IS_FALKOR (midr) || IS_PHECDA (midr)) && zva_size == 64)
-    return __memset_falkor;
-
   if (IS_EMAG (midr))
     return __memset_emag;
 
+  if (zva_size == 64)
+    return __memset_zva64;
+
   return __memset_generic;
 }