]> git.ipfire.org Git - thirdparty/glibc.git/commit
Aarch64: Add new memset for Qualcomm's oryon-1 core
authorAndrew Pinski <quic_apinski@quicinc.com>
Wed, 12 Jun 2024 22:53:36 +0000 (15:53 -0700)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Sun, 30 Jun 2024 11:47:17 +0000 (13:47 +0200)
commit2f1f7a5f8aa7285e9a55b209dd01fdcb0d4e7281
treed905d50005692a91c90d953cb7f4f9b574530057
parent4dc83cac78a92a99cdd1ae808890083461597b82
Aarch64: Add new memset for Qualcomm's oryon-1 core

Qualcom's new core, oryon-1, has a different characteristics for
memset than the current versions of memset. For non-zero, larger
sizes, using GPRs rather than the SIMD stores is ~30% faster.
For even larger sizes, using the nontemporal stores is needed
not to polute the L1/L2 caches.

For zero values, using `dc zva` should be used. Since we
know the size will always be 64 bytes, we don't need to figure
out the size there.

I started with the emag memset and added back the `dc zva` code.

Changes since v1:
* v3: Fix comment formating

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
sysdeps/aarch64/multiarch/Makefile
sysdeps/aarch64/multiarch/ifunc-impl-list.c
sysdeps/aarch64/multiarch/memset.c
sysdeps/aarch64/multiarch/memset_oryon1.S [new file with mode: 0644]