diff options
author | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2023-10-26 17:07:21 +0100 |
---|---|---|
committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2024-04-09 17:58:28 +0100 |
commit | ff17116c1e111c809f1c3b3d3097f039d7d157f6 (patch) | |
tree | bf5e70fb9492465415d31246502733382a97f4d9 /sysdeps/aarch64/multiarch/memset.c | |
parent | 7e999181c2b1e1ad671b82b41ca7ab36d6282507 (diff) | |
download | glibc-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.c | 9 |
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; } |