You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/06/20 09:49:11 UTC
[doris] branch master updated: [enhancement] CRC32 instructions compatible arm arch (#10261)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 5974e452bc [enhancement] CRC32 instructions compatible arm arch (#10261)
5974e452bc is described below
commit 5974e452bc2614118e2d65188055c64fe0e73688
Author: chenlinzhong <49...@qq.com>
AuthorDate: Mon Jun 20 17:49:06 2022 +0800
[enhancement] CRC32 instructions compatible arm arch (#10261)
The performance of some CPUs that do not implement CRC instructions is particularly poor
---
be/src/vec/common/hash_table/hash.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/be/src/vec/common/hash_table/hash.h b/be/src/vec/common/hash_table/hash.h
index 49ba1611c1..3bb1d94269 100644
--- a/be/src/vec/common/hash_table/hash.h
+++ b/be/src/vec/common/hash_table/hash.h
@@ -64,7 +64,7 @@ inline doris::vectorized::UInt64 int_hash64(doris::vectorized::UInt64 x) {
#endif
inline doris::vectorized::UInt64 int_hash_crc32(doris::vectorized::UInt64 x) {
-#if defined(__SSE4_2__) || defined(__aarch64__)
+#if defined(__SSE4_2__) || (defined(__aarch64__) && defined(__ARM_FEATURE_CRC32))
return _mm_crc32_u64(-1ULL, x);
#else
/// On other platforms we do not have CRC32. NOTE This can be confusing.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org