[all-commits] [llvm/llvm-project] 838718: [libc] Add a set of elementary operations

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Tue Jun 15 07:39:35 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8387187c2ffe0bef0696edfffab00cd7d0ee3e6e
      https://github.com/llvm/llvm-project/commit/8387187c2ffe0bef0696edfffab00cd7d0ee3e6e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2021-06-15 (Tue, 15 Jun 2021)

  Changed paths:
    M libc/src/string/CMakeLists.txt
    M libc/src/string/aarch64/memcpy.cpp
    M libc/src/string/memcpy.cpp
    M libc/src/string/memory_utils/CMakeLists.txt
    A libc/src/string/memory_utils/elements.h
    A libc/src/string/memory_utils/elements_x86.h
    R libc/src/string/memory_utils/memcpy_utils.h
    M libc/src/string/memory_utils/memset_utils.h
    M libc/src/string/x86_64/memcpy.cpp
    M libc/test/src/string/memory_utils/CMakeLists.txt
    A libc/test/src/string/memory_utils/elements_test.cpp
    R libc/test/src/string/memory_utils/memcpy_utils_test.cpp
    A libc/test/src/string/memory_utils/memory_access_test.cpp

  Log Message:
  -----------
  [libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM




More information about the All-commits mailing list