<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/src/string/memory_utils/arm/inline_memset.h, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc] Improve Cortex `memset` and `memcpy` functions (#149044)</title>
<updated>2025-07-17T08:15:43+00:00</updated>
<author>
<name>Guillaume Chatelet</name>
<email>gchatelet@google.com</email>
</author>
<published>2025-07-17T08:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e0cce5cdcb8a7829389d910a9204447646e69407'/>
<id>e0cce5cdcb8a7829389d910a9204447646e69407</id>
<content type='text'>
The code for `memcpy` is the same as in #148204 but it fixes the build
bot error by using `static_assert(cpp::always_false&lt;decltype(access)&gt;)`
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 &gt;=
64. This lowers a bit the performance for sizes between 64 and 256 but
improves throughput for greater sizes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The code for `memcpy` is the same as in #148204 but it fixes the build
bot error by using `static_assert(cpp::always_false&lt;decltype(access)&gt;)`
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 &gt;=
64. This lowers a bit the performance for sizes between 64 and 256 but
improves throughput for greater sizes.</pre>
</div>
</content>
</entry>
</feed>
