diff --git a/libc/src/string/memory_utils/bcmp_implementations.h b/libc/src/string/memory_utils/bcmp_implementations.h --- a/libc/src/string/memory_utils/bcmp_implementations.h +++ b/libc/src/string/memory_utils/bcmp_implementations.h @@ -20,13 +20,14 @@ #elif defined(LIBC_TARGET_ARCH_IS_AARCH64) #include "src/string/memory_utils/aarch64/bcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_aarch64 +#elif defined(LIBC_TARGET_ARCH_IS_ARM) +#include "src/string/memory_utils/generic/byte_per_byte.h" +#define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_byte_per_byte #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/bcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_riscv #else -// We may want to error instead of defaulting to suboptimal implementation. -#include "src/string/memory_utils/generic/byte_per_byte.h" -#define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_byte_per_byte +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memcmp_implementations.h b/libc/src/string/memory_utils/memcmp_implementations.h --- a/libc/src/string/memory_utils/memcmp_implementations.h +++ b/libc/src/string/memory_utils/memcmp_implementations.h @@ -21,13 +21,14 @@ #elif defined(LIBC_TARGET_ARCH_IS_AARCH64) #include "src/string/memory_utils/aarch64/memcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_aarch64 +#elif defined(LIBC_TARGET_ARCH_IS_ARM) +#include "src/string/memory_utils/generic/byte_per_byte.h" +#define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_byte_per_byte #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_riscv #else -// We may want to error instead of defaulting to suboptimal implementation. -#include "src/string/memory_utils/generic/byte_per_byte.h" -#define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_byte_per_byte +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memcpy_implementations.h b/libc/src/string/memory_utils/memcpy_implementations.h --- a/libc/src/string/memory_utils/memcpy_implementations.h +++ b/libc/src/string/memory_utils/memcpy_implementations.h @@ -25,13 +25,14 @@ #elif defined(LIBC_TARGET_ARCH_IS_AARCH64) #include "src/string/memory_utils/aarch64/memcpy_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_aarch64 +#elif defined(LIBC_TARGET_ARCH_IS_ARM) +#include "src/string/memory_utils/generic/byte_per_byte.h" +#define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_byte_per_byte #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memcpy_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_riscv #else -// We may want to error instead of defaulting to suboptimal implementation. -#include "src/string/memory_utils/generic/byte_per_byte.h" -#define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_byte_per_byte +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memmove_implementations.h b/libc/src/string/memory_utils/memmove_implementations.h --- a/libc/src/string/memory_utils/memmove_implementations.h +++ b/libc/src/string/memory_utils/memmove_implementations.h @@ -17,13 +17,14 @@ #elif defined(LIBC_TARGET_ARCH_IS_AARCH64) #include "src/string/memory_utils/aarch64/memmove_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_aarch64 +#elif defined(LIBC_TARGET_ARCH_IS_ARM) +#include "src/string/memory_utils/generic/byte_per_byte.h" +#define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_byte_per_byte #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memmove_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_riscv #else -// We may want to error instead of defaulting to suboptimal implementation. -#include "src/string/memory_utils/generic/byte_per_byte.h" -#define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_byte_per_byte +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memset_implementations.h b/libc/src/string/memory_utils/memset_implementations.h --- a/libc/src/string/memory_utils/memset_implementations.h +++ b/libc/src/string/memory_utils/memset_implementations.h @@ -21,13 +21,14 @@ #elif defined(LIBC_TARGET_ARCH_IS_AARCH64) #include "src/string/memory_utils/aarch64/memset_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_aarch64 +#elif defined(LIBC_TARGET_ARCH_IS_ARM) +#include "src/string/memory_utils/generic/byte_per_byte.h" +#define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_byte_per_byte #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memset_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_riscv #else -// We may want to error instead of defaulting to suboptimal implementation. -#include "src/string/memory_utils/generic/byte_per_byte.h" -#define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_byte_per_byte +#error "Unsupported architecture" #endif namespace __llvm_libc {