[all-commits] [llvm/llvm-project] e0cce5: [libc] Improve Cortex `memset` and `memcpy` functi...
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Thu Jul 17 01:16:04 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e0cce5cdcb8a7829389d910a9204447646e69407
https://github.com/llvm/llvm-project/commit/e0cce5cdcb8a7829389d910a9204447646e69407
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
A libc/src/string/memory_utils/arm/inline_memset.h
M libc/src/string/memory_utils/inline_memset.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Improve Cortex `memset` and `memcpy` functions (#149044)
The code for `memcpy` is the same as in #148204 but it fixes the build
bot error by using `static_assert(cpp::always_false<decltype(access)>)`
instead of `static_assert(false)` (older compilers fails on
`static_assert(false)` in `constexpr` `else` bodies).
The code for `memset` is new and vastly improves performance over the
current byte per byte implementation.
Both `memset` and `memcpy` implementations use prefetching for sizes >=
64. This lowers a bit the performance for sizes between 64 and 256 but
improves throughput for greater sizes.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list