[libc-commits] [libc] 6958986 - [libc] fix -Wconversion (#77384)
via libc-commits
libc-commits at lists.llvm.org
Mon Jan 8 16:08:25 PST 2024
Author: Nick Desaulniers
Date: 2024-01-08T16:08:22-08:00
New Revision: 6958986f77bdbedd6ba571af7b546018f9108067
URL: https://github.com/llvm/llvm-project/commit/6958986f77bdbedd6ba571af7b546018f9108067
DIFF: https://github.com/llvm/llvm-project/commit/6958986f77bdbedd6ba571af7b546018f9108067.diff
LOG: [libc] fix -Wconversion (#77384)
Fixes the following from GCC:
llvm-project/libc/src/string/memory_utils/op_x86.h:236:24: error:
conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’}
may
change value [-Werror=conversion]
236 | return (xored >> 32) | (xored & 0xFFFFFFFF);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Link:
https://lab.llvm.org/buildbot/#/builders/250/builds/16236/steps/8/logs/stdio
Link: https://github.com/llvm/llvm-project/pull/74506
Added:
Modified:
libc/src/string/memory_utils/op_x86.h
Removed:
################################################################################
diff --git a/libc/src/string/memory_utils/op_x86.h b/libc/src/string/memory_utils/op_x86.h
index 1a20659c178cd1..3d2eb13fa302ad 100644
--- a/libc/src/string/memory_utils/op_x86.h
+++ b/libc/src/string/memory_utils/op_x86.h
@@ -233,7 +233,8 @@ template <> LIBC_INLINE uint32_t neq<__m512i>(CPtr p1, CPtr p2, size_t offset) {
const auto a = load<__m512i>(p1, offset);
const auto b = load<__m512i>(p2, offset);
const uint64_t xored = _mm512_cmpneq_epi8_mask(a, b);
- return (xored >> 32) | (xored & 0xFFFFFFFF);
+ return static_cast<uint32_t>(xored >> 32) |
+ static_cast<uint32_t>(xored & 0xFFFFFFFF));
}
template <>
LIBC_INLINE MemcmpReturnType cmp_neq<__m512i>(CPtr p1, CPtr p2, size_t offset) {
More information about the libc-commits
mailing list