[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