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