[libc] [llvm] [libc] Adding a version of memset with software prefetching (PR #70857)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 11:21:31 PST 2023


================
@@ -163,6 +170,24 @@ template <typename T> struct Memset {
     } while (offset < count - SIZE);
     tail(dst, value, count);
   }
+
+  template <size_t prefetch_distance, size_t prefetch_degree>
+  LIBC_INLINE static void loop_and_tail_prefetch(Ptr dst, uint8_t value,
----------------
doshimili wrote:

Added `block_offset` and `loop_and_tail_offset` methods as done for `memcpy`. Moved the implementation to `src/string/memory_utils/x86_64/inline_memset.h`.

https://github.com/llvm/llvm-project/pull/70857


More information about the llvm-commits mailing list