[libc-commits] [libc] 48ba7da - [libc][NFC] Allow compilation of `memcpy` with `-m32` (#93790)
via libc-commits
libc-commits at lists.llvm.org
Fri May 31 01:48:42 PDT 2024
Author: Guillaume Chatelet
Date: 2024-05-31T10:48:38+02:00
New Revision: 48ba7da9c8e3d03beb27e3a5acf34a3a180d202d
URL: https://github.com/llvm/llvm-project/commit/48ba7da9c8e3d03beb27e3a5acf34a3a180d202d
DIFF: https://github.com/llvm/llvm-project/commit/48ba7da9c8e3d03beb27e3a5acf34a3a180d202d.diff
LOG: [libc][NFC] Allow compilation of `memcpy` with `-m32` (#93790)
Needed to support i386 (#93709).
Added:
Modified:
libc/src/string/memory_utils/op_x86.h
libc/src/string/memory_utils/utils.h
Removed:
################################################################################
diff --git a/libc/src/string/memory_utils/op_x86.h b/libc/src/string/memory_utils/op_x86.h
index 1afa91f20e659..2d9cebbb0496a 100644
--- a/libc/src/string/memory_utils/op_x86.h
+++ b/libc/src/string/memory_utils/op_x86.h
@@ -14,7 +14,7 @@
#include "src/__support/macros/properties/architectures.h"
-#if defined(LIBC_TARGET_ARCH_IS_X86_64)
+#if defined(LIBC_TARGET_ARCH_IS_X86)
#include "src/__support/common.h"
#include "src/string/memory_utils/op_builtin.h"
@@ -316,6 +316,6 @@ LIBC_INLINE MemcmpReturnType cmp_neq<__m512i>(CPtr p1, CPtr p2, size_t offset) {
} // namespace LIBC_NAMESPACE::generic
-#endif // LIBC_TARGET_ARCH_IS_X86_64
+#endif // LIBC_TARGET_ARCH_IS_X86
#endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_X86_H
diff --git a/libc/src/string/memory_utils/utils.h b/libc/src/string/memory_utils/utils.h
index b3e1a26ad9961..cb1fd899b6c63 100644
--- a/libc/src/string/memory_utils/utils.h
+++ b/libc/src/string/memory_utils/utils.h
@@ -170,7 +170,7 @@ LIBC_INLINE MemcmpReturnType cmp_uint32_t(uint32_t a, uint32_t b) {
// otherwise. This implements the semantic of 'memcmp' when we know that 'a' and
// 'b'
diff er.
LIBC_INLINE MemcmpReturnType cmp_neq_uint64_t(uint64_t a, uint64_t b) {
-#if defined(LIBC_TARGET_ARCH_IS_X86_64)
+#if defined(LIBC_TARGET_ARCH_IS_X86)
// On x86, the best strategy would be to use 'INT32_MAX' and 'INT32_MIN' for
// positive and negative value respectively as they are one value apart:
// xor eax, eax <- free
More information about the libc-commits
mailing list