[libc] Add a set of elementary operations
authorGuillaume Chatelet <gchatelet@google.com>
Mon, 14 Jun 2021 09:01:06 +0000 (09:01 +0000)
committerGuillaume Chatelet <gchatelet@google.com>
Mon, 14 Jun 2021 09:01:06 +0000 (09:01 +0000)
commite63f27a3cf8129cb66b8350ad50bf19633554a6b
treeccc447504ed638073f240cf63a2f46119be7663a
parent669771cfe75b48ac4c195ce9e8824319be973f4d
[libc] Add a set of elementary operations

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.

Differential Revision: https://reviews.llvm.org/D100646
13 files changed:
libc/src/string/CMakeLists.txt
libc/src/string/aarch64/memcpy.cpp
libc/src/string/memcpy.cpp
libc/src/string/memory_utils/CMakeLists.txt
libc/src/string/memory_utils/elements.h [new file with mode: 0644]
libc/src/string/memory_utils/elements_x86.h [new file with mode: 0644]
libc/src/string/memory_utils/memcpy_utils.h [deleted file]
libc/src/string/memory_utils/memset_utils.h
libc/src/string/x86_64/memcpy.cpp
libc/test/src/string/memory_utils/CMakeLists.txt
libc/test/src/string/memory_utils/elements_test.cpp [new file with mode: 0644]
libc/test/src/string/memory_utils/memcpy_utils_test.cpp [deleted file]
libc/test/src/string/memory_utils/memory_access_test.cpp [new file with mode: 0644]