We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d3833e4 commit fedb064Copy full SHA for fedb064
be/src/olap/hll.h
@@ -25,6 +25,8 @@
25
26
#ifdef __x86_64__
27
#include <immintrin.h>
28
+#elif __aarch64__
29
+#include <arm_neon.h>
30
#endif
31
32
#include "vec/common/hash_table/phmap_fwd_decl.h"
@@ -287,6 +289,17 @@ class HyperLogLog {
287
289
src += 32;
288
290
dst += 32;
291
}
292
293
+ int loop = HLL_REGISTERS_COUNT / 16;
294
+ uint8_t* dst = _registers;
295
+ const uint8_t* src = other_registers;
296
+ for (int i = 0; i < loop; i++) {
297
+ uint8x16_t va = vld1q_u8(dst);
298
+ uint8x16_t vb = vld1q_u8(src);
299
+ vst1q_u8(dst, vmaxq_u8(va, vb));
300
+ src += 16;
301
+ dst += 16;
302
+ }
303
#else
304
for (int i = 0; i < HLL_REGISTERS_COUNT; ++i) {
305
_registers[i] =
0 commit comments