From 9d34e6a1c8e0c1b8d3b172c7cb436e098339f9d7 Mon Sep 17 00:00:00 2001 From: Guillaume Chatelet Date: Mon, 22 Nov 2021 16:50:29 +0000 Subject: [PATCH] Fix #205 Since buffers are a few tens of bytes there is no need for optimized memfunctions. For compile time sizes, the compiler will generate optimal code already. --- src/copy.inl | 16 +--------------- src/equals.inl | 19 ++----------------- 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/src/copy.inl b/src/copy.inl index ad0ad3f..47771d4 100644 --- a/src/copy.inl +++ b/src/copy.inl @@ -13,21 +13,7 @@ // limitations under the License. #include -#include static void copy(char *__restrict dst, const char *src, size_t count) { - size_t offset = 0; - -#define CHUNK_COPY(TYPE) \ - while (count - offset >= sizeof(TYPE)) { \ - *(TYPE *)(dst + offset) = *(const TYPE *)(src + offset); \ - offset += sizeof(TYPE); \ - } - - CHUNK_COPY(uint64_t) - CHUNK_COPY(uint32_t) - CHUNK_COPY(uint16_t) - CHUNK_COPY(uint8_t) - -#undef CHUNK_COPY + for (size_t i = 0; i < count; ++i) dst[i] = src[i]; } diff --git a/src/equals.inl b/src/equals.inl index 8a80a6c..67a115f 100644 --- a/src/equals.inl +++ b/src/equals.inl @@ -14,24 +14,9 @@ #include #include -#include static bool equals(const char *lhs, const char *rhs, size_t count) { - size_t offset = 0; - -#define CHUNK_EQUALS(TYPE) \ - while (count - offset >= sizeof(TYPE)) { \ - TYPE l = *(const TYPE *)(lhs + offset); \ - TYPE r = *(const TYPE *)(rhs + offset); \ - if (l != r) return false; \ - offset += sizeof(TYPE); \ - } - - CHUNK_EQUALS(uint64_t) - CHUNK_EQUALS(uint32_t) - CHUNK_EQUALS(uint16_t) - CHUNK_EQUALS(uint8_t) -#undef CHUNK_EQUALS - + for (size_t i = 0; i < count; ++i) + if (lhs[i] != rhs[i]) return false; return true; }