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

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Wed Jun 16 05:12:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7fff39d9b0469b75e589f9d47055a33422376da1
      https://github.com/llvm/llvm-project/commit/7fff39d9b0469b75e589f9d47055a33422376da1
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2021-06-16 (Wed, 16 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