[libc-commits] [PATCH] D74397: [libc] Adding memcpy implementation for x86_64

Guillaume Chatelet via Phabricator via libc-commits libc-commits at lists.llvm.org
Fri Feb 14 05:01:51 PST 2020


gchatelet marked an inline comment as done.
gchatelet added inline comments.


================
Comment at: libc/src/string/CMakeLists.txt:78
+  compile_memcpy_with_flags(avx512 FLAGS -mavx512f)
+endif()
+
----------------
This now creates the following memcpy implementations
 - `__llvm_libc::memcpy_x86_64_avx512`
 - `__llvm_libc::memcpy_x86_64_avx`
 - `__llvm_libc::memcpy_x86_64_sse2`
 - `__llvm_libc::memcpy_x86_64_sse`
 - `__llvm_libc::memcpy_x86_64_unopt`

For shared libc, we need an ifunc like trampoline to select the correct version.
For static libc, we need to select an implementation

@sivachandra how do you see this kind if code generation integrate into the more general cmake functions from `libc/cmake/modules/LLVMLibCRules.cmake`?
I expect other memory functions to follow the same scheme.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74397/new/

https://reviews.llvm.org/D74397





More information about the libc-commits mailing list