Line | Count | Source |
1 | | // Licensed to the Apache Software Foundation (ASF) under one |
2 | | // or more contributor license agreements. See the NOTICE file |
3 | | // distributed with this work for additional information |
4 | | // regarding copyright ownership. The ASF licenses this file |
5 | | // to you under the Apache License, Version 2.0 (the |
6 | | // "License"); you may not use this file except in compliance |
7 | | // with the License. You may obtain a copy of the License at |
8 | | // |
9 | | // http://www.apache.org/licenses/LICENSE-2.0 |
10 | | // |
11 | | // Unless required by applicable law or agreed to in writing, |
12 | | // software distributed under the License is distributed on an |
13 | | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
14 | | // KIND, either express or implied. See the License for the |
15 | | // specific language governing permissions and limitations |
16 | | // under the License. |
17 | | |
18 | | #pragma once |
19 | | |
20 | | #include <cstdint> |
21 | | #include <cstring> |
22 | | #include <type_traits> |
23 | | #include <vector> |
24 | | |
25 | | #if defined(__ARM_NEON) |
26 | | #include <arm_neon.h> |
27 | | #endif |
28 | | |
29 | | #include "util/sse_util.hpp" |
30 | | |
31 | | namespace doris::simd { |
32 | | consteval auto bits_mask_length() { |
33 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
34 | | return 16; |
35 | | #else |
36 | | return 32; |
37 | | #endif |
38 | | } |
39 | | |
40 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
41 | | inline uint64_t get_nibble_mask(uint8x16_t values) { |
42 | | // It produces 4-bit out of each byte, alternating between the high 4-bits and low 4-bits of the 16-byte vector. |
43 | | // Given that the comparison operators give a 16-byte result of 0x00 or 0xff, the result is close to being a PMOVMSKB, |
44 | | // the only difference is that every matching bit is repeated 4 times and is a 64-bit integer. |
45 | | // https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon?CommentId=af187ac6-ae00-4e4d-bbf0-e142187aa92e |
46 | | return vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(values), 4)), 0); |
47 | | } |
48 | | /* |
49 | | Input 16 bytes of data and convert it into a 64-bit integer, where one bit appears 4 times. |
50 | | Compare with bytes32_mask_to_bits32_mask, a u8 array with a length of 32 |
51 | | std::vector<uint8_t> vec = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, |
52 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}; |
53 | | |
54 | | bytes32_mask_to_bits32_mask 0100 0000 0000 0000,1101 0000 0000 0011 |
55 | | |
56 | | |
57 | | (1101 0000 0000 0011) |
58 | | bytes16_mask_to_bits64_mask 1111 1111 0000 1111,0000 0000 0000 0000,0000 0000 0000 0000,0000 0000 1111 1111 |
59 | | (0100 0000 0000 0000) |
60 | | 0000 1111 0000 0000,0000 0000 0000 0000,0000 0000 0000 0000,0000 0000 0000 0000 |
61 | | */ |
62 | | |
63 | | inline uint64_t bytes16_mask_to_bits64_mask(const uint8_t* data) { |
64 | | const uint8x16_t vfilter = vld1q_u8(data); |
65 | | return get_nibble_mask(vmvnq_u8(vceqzq_u8(vfilter))); |
66 | | } |
67 | | #endif |
68 | | |
69 | 29.6M | inline uint32_t bytes32_mask_to_bits32_mask(const uint8_t* data) { |
70 | 29.6M | #ifdef __AVX2__ |
71 | 29.6M | auto zero32 = _mm256_setzero_si256(); |
72 | 29.6M | auto mask = static_cast<uint32_t>(_mm256_movemask_epi8( |
73 | 29.6M | _mm256_cmpgt_epi8(_mm256_loadu_si256(reinterpret_cast<const __m256i*>(data)), zero32))); |
74 | | #elif defined(__SSE2__) |
75 | | auto zero16 = _mm_setzero_si128(); |
76 | | uint32_t mask = |
77 | | (static_cast<uint32_t>(_mm_movemask_epi8(_mm_cmpgt_epi8( |
78 | | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16)))) | |
79 | | ((static_cast<uint32_t>(_mm_movemask_epi8(_mm_cmpgt_epi8( |
80 | | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) |
81 | | << 16) & |
82 | | 0xffff0000); |
83 | | #else |
84 | | uint32_t mask = 0; |
85 | | for (std::size_t i = 0; i < 32; ++i) { |
86 | | mask |= static_cast<uint32_t>(1 == *(data + i)) << i; |
87 | | } |
88 | | #endif |
89 | 29.6M | return mask; |
90 | 29.6M | } |
91 | | |
92 | 29.6M | inline auto bytes_mask_to_bits_mask(const uint8_t* data) { |
93 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
94 | | return bytes16_mask_to_bits64_mask(data); |
95 | | #else |
96 | 29.6M | return bytes32_mask_to_bits32_mask(data); |
97 | 29.6M | #endif |
98 | 29.6M | } |
99 | | |
100 | 9.53M | inline constexpr auto bits_mask_all() { |
101 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
102 | | return 0xffff'ffff'ffff'ffffULL; |
103 | | #else |
104 | 9.53M | return 0xffffffff; |
105 | 9.53M | #endif |
106 | 9.53M | } |
107 | | |
108 | | template <typename Func> |
109 | 4.39M | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { |
110 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
111 | | mask &= 0x8888'8888'8888'8888ULL; |
112 | | while (mask) { |
113 | | const auto index = __builtin_ctzll(mask) >> 2; |
114 | | func(index); |
115 | | mask &= mask - 1; |
116 | | } |
117 | | |
118 | | #else |
119 | 57.5M | while (mask) { |
120 | 53.1M | const auto bit_pos = __builtin_ctzll(mask); |
121 | 53.1M | func(bit_pos); |
122 | 53.1M | mask = mask & (mask - 1); |
123 | 53.1M | } |
124 | 4.39M | #endif |
125 | 4.39M | } _ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE28EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 2.60k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 73.4k | while (mask) { | 120 | 70.8k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 70.8k | func(bit_pos); | 122 | 70.8k | mask = mask & (mask - 1); | 123 | 70.8k | } | 124 | 2.60k | #endif | 125 | 2.60k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE28EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 7 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 181 | while (mask) { | 120 | 174 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 174 | func(bit_pos); | 122 | 174 | mask = mask & (mask - 1); | 123 | 174 | } | 124 | 7 | #endif | 125 | 7 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 559 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 13.0k | while (mask) { | 120 | 12.4k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.4k | func(bit_pos); | 122 | 12.4k | mask = mask & (mask - 1); | 123 | 12.4k | } | 124 | 559 | #endif | 125 | 559 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 3.15k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 23.9k | while (mask) { | 120 | 20.7k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 20.7k | func(bit_pos); | 122 | 20.7k | mask = mask & (mask - 1); | 123 | 20.7k | } | 124 | 3.15k | #endif | 125 | 3.15k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE20EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 62 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 62 | func(bit_pos); | 122 | 62 | mask = mask & (mask - 1); | 123 | 62 | } | 124 | 2 | #endif | 125 | 2 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE20EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 62 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 62 | func(bit_pos); | 122 | 62 | mask = mask & (mask - 1); | 123 | 62 | } | 124 | 2 | #endif | 125 | 2 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 1.95k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 56.7k | while (mask) { | 120 | 54.8k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 54.8k | func(bit_pos); | 122 | 54.8k | mask = mask & (mask - 1); | 123 | 54.8k | } | 124 | 1.95k | #endif | 125 | 1.95k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 16.3k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 186k | while (mask) { | 120 | 170k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 170k | func(bit_pos); | 122 | 170k | mask = mask & (mask - 1); | 123 | 170k | } | 124 | 16.3k | #endif | 125 | 16.3k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE35EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 211 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.85k | while (mask) { | 120 | 4.64k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.64k | func(bit_pos); | 122 | 4.64k | mask = mask & (mask - 1); | 123 | 4.64k | } | 124 | 211 | #endif | 125 | 211 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE35EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 7 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 224 | while (mask) { | 120 | 217 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 217 | func(bit_pos); | 122 | 217 | mask = mask & (mask - 1); | 123 | 217 | } | 124 | 7 | #endif | 125 | 7 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIhjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 1.10M | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.33M | while (mask) { | 120 | 4.23M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.23M | func(bit_pos); | 122 | 4.23M | mask = mask & (mask - 1); | 123 | 4.23M | } | 124 | 1.10M | #endif | 125 | 1.10M | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 95.0k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 891k | while (mask) { | 120 | 796k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 796k | func(bit_pos); | 122 | 796k | mask = mask & (mask - 1); | 123 | 796k | } | 124 | 95.0k | #endif | 125 | 95.0k | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIhjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIhmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 316 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.48k | while (mask) { | 120 | 5.16k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.16k | func(bit_pos); | 122 | 5.16k | mask = mask & (mask - 1); | 123 | 5.16k | } | 124 | 316 | #endif | 125 | 316 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIhmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 109k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 1.90M | while (mask) { | 120 | 1.79M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 1.79M | func(bit_pos); | 122 | 1.79M | mask = mask & (mask - 1); | 123 | 1.79M | } | 124 | 109k | #endif | 125 | 109k | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 4.04k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 27.9k | while (mask) { | 120 | 23.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 23.9k | func(bit_pos); | 122 | 23.9k | mask = mask & (mask - 1); | 123 | 23.9k | } | 124 | 4.04k | #endif | 125 | 4.04k | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Line | Count | Source | 109 | 316 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 7.05k | while (mask) { | 120 | 6.73k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 6.73k | func(bit_pos); | 122 | 6.73k | mask = mask & (mask - 1); | 123 | 6.73k | } | 124 | 316 | #endif | 125 | 316 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Line | Count | Source | 109 | 169 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 347 | while (mask) { | 120 | 178 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 178 | func(bit_pos); | 122 | 178 | mask = mask & (mask - 1); | 123 | 178 | } | 124 | 169 | #endif | 125 | 169 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Line | Count | Source | 109 | 322 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 6.46k | while (mask) { | 120 | 6.13k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 6.13k | func(bit_pos); | 122 | 6.13k | mask = mask & (mask - 1); | 123 | 6.13k | } | 124 | 322 | #endif | 125 | 322 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Line | Count | Source | 109 | 578 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 12.7k | while (mask) { | 120 | 12.1k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.1k | func(bit_pos); | 122 | 12.1k | mask = mask & (mask - 1); | 123 | 12.1k | } | 124 | 578 | #endif | 125 | 578 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimeStampNsValueEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimeStampNsValueEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimeStampNsValueEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimeStampNsValueEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimeStampNsValueEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimeStampNsValueEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimeStampNsValueEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimeStampNsValueEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimestampTzValueEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimestampTzValueEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimestampTzValueEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimestampTzValueEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimestampTzValueEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimestampTzValueEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16TimestampTzValueEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16TimestampTzValueEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIjjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIjjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIjjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIjjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIjmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIjmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIjmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIjmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericImjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingImjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericImjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingImjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericImmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingImmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericImmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingImmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIN4wide7integerILm128EjEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIN4wide7integerILm128EjEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIN4wide7integerILm128EjEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIN4wide7integerILm128EjEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIN4wide7integerILm128EjEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIN4wide7integerILm128EjEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIN4wide7integerILm128EjEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIN4wide7integerILm128EjEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIajNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIajNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIajNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIajNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIamNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 364 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 7.23k | while (mask) { | 120 | 6.87k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 6.87k | func(bit_pos); | 122 | 6.87k | mask = mask & (mask - 1); | 123 | 6.87k | } | 124 | 364 | #endif | 125 | 364 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIamNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 11 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 162 | while (mask) { | 120 | 151 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 151 | func(bit_pos); | 122 | 151 | mask = mask & (mask - 1); | 123 | 151 | } | 124 | 11 | #endif | 125 | 11 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIamNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIamNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIsjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIsjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIsjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIsjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIsmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 316 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.47k | while (mask) { | 120 | 5.16k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.16k | func(bit_pos); | 122 | 5.16k | mask = mask & (mask - 1); | 123 | 5.16k | } | 124 | 316 | #endif | 125 | 316 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIsmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 5 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 59 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 59 | func(bit_pos); | 122 | 59 | mask = mask & (mask - 1); | 123 | 59 | } | 124 | 5 | #endif | 125 | 5 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIsmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIsmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIijNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIijNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIijNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIijNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIimNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 42.5k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 793k | while (mask) { | 120 | 750k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 750k | func(bit_pos); | 122 | 750k | mask = mask & (mask - 1); | 123 | 750k | } | 124 | 42.5k | #endif | 125 | 42.5k | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIimNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 1.12k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.77k | while (mask) { | 120 | 3.64k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.64k | func(bit_pos); | 122 | 3.64k | mask = mask & (mask - 1); | 123 | 3.64k | } | 124 | 1.12k | #endif | 125 | 1.12k | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIimNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIimNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIljNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIljNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIljNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIljNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIlmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 323 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 6.65k | while (mask) { | 120 | 6.32k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 6.32k | func(bit_pos); | 122 | 6.32k | mask = mask & (mask - 1); | 123 | 6.32k | } | 124 | 323 | #endif | 125 | 323 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIlmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIlmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIlmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16VecDateTimeValueEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16VecDateTimeValueEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16VecDateTimeValueEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16VecDateTimeValueEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16VecDateTimeValueEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16VecDateTimeValueEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_16VecDateTimeValueEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_16VecDateTimeValueEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericInjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingInjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericInjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingInjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericInmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingInmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericInmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingInmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIfjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIfjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIfjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIfjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIfmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 264 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.93k | while (mask) { | 120 | 5.67k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.67k | func(bit_pos); | 122 | 5.67k | mask = mask & (mask - 1); | 123 | 5.67k | } | 124 | 264 | #endif | 125 | 264 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIfmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIfmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIfmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIdjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIdjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIdjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIdjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIdmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Line | Count | Source | 109 | 240 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.80k | while (mask) { | 120 | 4.56k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.56k | func(bit_pos); | 122 | 4.56k | mask = mask & (mask - 1); | 123 | 4.56k | } | 124 | 240 | #endif | 125 | 240 | } |
unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIdmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIdmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIdmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIiEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIiEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIiEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIiEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIiEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIiEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIiEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIiEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIlEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIlEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIlEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIlEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIlEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIlEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIlEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIlEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalInEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalInEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalInEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalInEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalInEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalInEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalInEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS8_IT0_Lm4096ESC_Lm16ELm15EEERSD_PSH_RKNS8_IhLm4096ESC_Lm16ELm15EEElEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalInEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS8_IT0_Lm4096ESC_Lm16ELm15EEERKNS8_IhLm4096ESC_Lm16ELm15EEEEUlmE_EEvS9_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_12Decimal128V3EjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_12Decimal128V3EjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_12Decimal128V3EjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_12Decimal128V3EjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_12Decimal128V3EmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_12Decimal128V3EmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_12Decimal128V3EmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS7_IT0_Lm4096ESB_Lm16ELm15EEERSC_PSG_RKNS7_IhLm4096ESB_Lm16ELm15EEElEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_12Decimal128V3EmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS7_IT0_Lm4096ESB_Lm16ELm15EEERKNS7_IhLm4096ESB_Lm16ELm15EEEEUlmE_EEvS8_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIN4wide7integerILm256EiEEEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNSB_IT0_Lm4096ESF_Lm16ELm15EEERSG_PSK_RKNSB_IhLm4096ESF_Lm16ELm15EEElEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIN4wide7integerILm256EiEEEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNSB_IT0_Lm4096ESF_Lm16ELm15EEERKNSB_IhLm4096ESF_Lm16ELm15EEEEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIN4wide7integerILm256EiEEEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNSB_IT0_Lm4096ESF_Lm16ELm15EEERSG_PSK_RKNSB_IhLm4096ESF_Lm16ELm15EEElEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIN4wide7integerILm256EiEEEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNSB_IT0_Lm4096ESF_Lm16ELm15EEERKNSB_IhLm4096ESF_Lm16ELm15EEEEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIN4wide7integerILm256EiEEEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNSB_IT0_Lm4096ESF_Lm16ELm15EEERSG_PSK_RKNSB_IhLm4096ESF_Lm16ELm15EEElEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIN4wide7integerILm256EiEEEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNSB_IT0_Lm4096ESF_Lm16ELm15EEERKNSB_IhLm4096ESF_Lm16ELm15EEEEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_7DecimalIN4wide7integerILm256EiEEEEmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNSB_IT0_Lm4096ESF_Lm16ELm15EEERSG_PSK_RKNSB_IhLm4096ESF_Lm16ELm15EEElEUlmE_EEvSC_j Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_7DecimalIN4wide7integerILm256EiEEEEmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNSB_IT0_Lm4096ESF_Lm16ELm15EEERKNSB_IhLm4096ESF_Lm16ELm15EEEEUlmE_EEvSC_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 95.5k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 422k | while (mask) { | 120 | 327k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 327k | func(bit_pos); | 122 | 327k | mask = mask & (mask - 1); | 123 | 327k | } | 124 | 95.5k | #endif | 125 | 95.5k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 408k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.60M | while (mask) { | 120 | 4.19M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.19M | func(bit_pos); | 122 | 4.19M | mask = mask & (mask - 1); | 123 | 4.19M | } | 124 | 408k | #endif | 125 | 408k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 5.75k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 164k | while (mask) { | 120 | 159k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 159k | func(bit_pos); | 122 | 159k | mask = mask & (mask - 1); | 123 | 159k | } | 124 | 5.75k | #endif | 125 | 5.75k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 23.1k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 308k | while (mask) { | 120 | 284k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 284k | func(bit_pos); | 122 | 284k | mask = mask & (mask - 1); | 123 | 284k | } | 124 | 23.1k | #endif | 125 | 23.1k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 9.40k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 205k | while (mask) { | 120 | 196k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 196k | func(bit_pos); | 122 | 196k | mask = mask & (mask - 1); | 123 | 196k | } | 124 | 9.40k | #endif | 125 | 9.40k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 1.74k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 29.6k | while (mask) { | 120 | 27.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 27.9k | func(bit_pos); | 122 | 27.9k | mask = mask & (mask - 1); | 123 | 27.9k | } | 124 | 1.74k | #endif | 125 | 1.74k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 456k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 13.0M | while (mask) { | 120 | 12.5M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.5M | func(bit_pos); | 122 | 12.5M | mask = mask & (mask - 1); | 123 | 12.5M | } | 124 | 456k | #endif | 125 | 456k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 23.6k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 342k | while (mask) { | 120 | 318k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 318k | func(bit_pos); | 122 | 318k | mask = mask & (mask - 1); | 123 | 318k | } | 124 | 23.6k | #endif | 125 | 23.6k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 172k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 1.14M | while (mask) { | 120 | 968k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 968k | func(bit_pos); | 122 | 968k | mask = mask & (mask - 1); | 123 | 968k | } | 124 | 172k | #endif | 125 | 172k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 65.0k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 433k | while (mask) { | 120 | 368k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 368k | func(bit_pos); | 122 | 368k | mask = mask & (mask - 1); | 123 | 368k | } | 124 | 65.0k | #endif | 125 | 65.0k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 2.96k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 86.1k | while (mask) { | 120 | 83.1k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 83.1k | func(bit_pos); | 122 | 83.1k | mask = mask & (mask - 1); | 123 | 83.1k | } | 124 | 2.96k | #endif | 125 | 2.96k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 10.0k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 47.7k | while (mask) { | 120 | 37.6k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 37.6k | func(bit_pos); | 122 | 37.6k | mask = mask & (mask - 1); | 123 | 37.6k | } | 124 | 10.0k | #endif | 125 | 10.0k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 3.41k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 98.3k | while (mask) { | 120 | 94.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 94.9k | func(bit_pos); | 122 | 94.9k | mask = mask & (mask - 1); | 123 | 94.9k | } | 124 | 3.41k | #endif | 125 | 3.41k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 2.54k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.77k | while (mask) { | 120 | 3.22k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.22k | func(bit_pos); | 122 | 3.22k | mask = mask & (mask - 1); | 123 | 3.22k | } | 124 | 2.54k | #endif | 125 | 2.54k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 5.02k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 137k | while (mask) { | 120 | 132k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 132k | func(bit_pos); | 122 | 132k | mask = mask & (mask - 1); | 123 | 132k | } | 124 | 5.02k | #endif | 125 | 5.02k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 23.0k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 70.4k | while (mask) { | 120 | 47.3k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 47.3k | func(bit_pos); | 122 | 47.3k | mask = mask & (mask - 1); | 123 | 47.3k | } | 124 | 23.0k | #endif | 125 | 23.0k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 152 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.75k | while (mask) { | 120 | 4.60k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.60k | func(bit_pos); | 122 | 4.60k | mask = mask & (mask - 1); | 123 | 4.60k | } | 124 | 152 | #endif | 125 | 152 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 152 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.60k | while (mask) { | 120 | 4.45k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.45k | func(bit_pos); | 122 | 4.45k | mask = mask & (mask - 1); | 123 | 4.45k | } | 124 | 152 | #endif | 125 | 152 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 92 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 2.67k | while (mask) { | 120 | 2.58k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 2.58k | func(bit_pos); | 122 | 2.58k | mask = mask & (mask - 1); | 123 | 2.58k | } | 124 | 92 | #endif | 125 | 92 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 413 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 839 | while (mask) { | 120 | 426 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 426 | func(bit_pos); | 122 | 426 | mask = mask & (mask - 1); | 123 | 426 | } | 124 | 413 | #endif | 125 | 413 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 4.67k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 127k | while (mask) { | 120 | 123k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 123k | func(bit_pos); | 122 | 123k | mask = mask & (mask - 1); | 123 | 123k | } | 124 | 4.67k | #endif | 125 | 4.67k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 341k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 6.88M | while (mask) { | 120 | 6.54M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 6.54M | func(bit_pos); | 122 | 6.54M | mask = mask & (mask - 1); | 123 | 6.54M | } | 124 | 341k | #endif | 125 | 341k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 168 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.61k | while (mask) { | 120 | 4.44k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.44k | func(bit_pos); | 122 | 4.44k | mask = mask & (mask - 1); | 123 | 4.44k | } | 124 | 168 | #endif | 125 | 168 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 236 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 476 | while (mask) { | 120 | 240 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 240 | func(bit_pos); | 122 | 240 | mask = mask & (mask - 1); | 123 | 240 | } | 124 | 236 | #endif | 125 | 236 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 5.19k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 142k | while (mask) { | 120 | 136k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 136k | func(bit_pos); | 122 | 136k | mask = mask & (mask - 1); | 123 | 136k | } | 124 | 5.19k | #endif | 125 | 5.19k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 69.5k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 1.82M | while (mask) { | 120 | 1.75M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 1.75M | func(bit_pos); | 122 | 1.75M | mask = mask & (mask - 1); | 123 | 1.75M | } | 124 | 69.5k | #endif | 125 | 69.5k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE43EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 404 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.20k | while (mask) { | 120 | 4.79k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.79k | func(bit_pos); | 122 | 4.79k | mask = mask & (mask - 1); | 123 | 4.79k | } | 124 | 404 | #endif | 125 | 404 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE43EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE42EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 3.50k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 112k | while (mask) { | 120 | 108k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 108k | func(bit_pos); | 122 | 108k | mask = mask & (mask - 1); | 123 | 108k | } | 124 | 3.50k | #endif | 125 | 3.50k | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE42EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE38EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE38EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 306 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 5.62k | while (mask) { | 120 | 5.31k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.31k | func(bit_pos); | 122 | 5.31k | mask = mask & (mask - 1); | 123 | 5.31k | } | 124 | 306 | #endif | 125 | 306 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE39EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE39EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j unity_14_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator33_evaluate_vectorization_predicateEPttE3$_0EEvT_j Line | Count | Source | 109 | 1.04M | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 13.6M | while (mask) { | 120 | 12.5M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.5M | func(bit_pos); | 122 | 12.5M | mask = mask & (mask - 1); | 123 | 12.5M | } | 124 | 1.04M | #endif | 125 | 1.04M | } |
unity_14_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator28_evaluate_common_expr_filterEPttRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE3$_0EEvT_j Line | Count | Source | 109 | 236k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.29M | while (mask) { | 120 | 4.05M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.05M | func(bit_pos); | 122 | 4.05M | mask = mask & (mask - 1); | 123 | 4.05M | } | 124 | 236k | #endif | 125 | 236k | } |
|
126 | | |
127 | | template <typename T> |
128 | | requires requires { std::is_unsigned_v<T>; } |
129 | 509k | inline T count_zero_num(const int8_t* __restrict data, T size) { |
130 | 509k | T num = 0; |
131 | 509k | const int8_t* end = data + size; |
132 | | #if defined(__ARM_NEON) |
133 | | const int8_t* end64 = data + (size / 64 * 64); |
134 | | |
135 | | for (; data < end64; data += 64) { |
136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); |
137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); |
138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); |
139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); |
140 | | |
141 | | auto s0 = vaddq_u8(a0, a1); |
142 | | auto s1 = vaddq_u8(a2, a3); |
143 | | auto s = vaddq_u8(s0, s1); |
144 | | num += vaddvq_u8(s); |
145 | | } |
146 | | #elif defined(__SSE2__) && defined(__POPCNT__) |
147 | | const __m128i zero16 = _mm_setzero_si128(); |
148 | 509k | const int8_t* end64 = data + (size / 64 * 64); |
149 | | |
150 | 3.60M | for (; data < end64; data += 64) { |
151 | 3.09M | num += __builtin_popcountll( |
152 | 3.09M | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
153 | 3.09M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | |
154 | 3.09M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
155 | 3.09M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) |
156 | 3.09M | << 16U) | |
157 | 3.09M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
158 | 3.09M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) |
159 | 3.09M | << 32U) | |
160 | 3.09M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
161 | 3.09M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) |
162 | 3.09M | << 48U)); |
163 | 3.09M | } |
164 | 509k | #endif |
165 | 6.28M | for (; data < end; ++data) { |
166 | 5.78M | num += (*data == 0); |
167 | 5.78M | } |
168 | 509k | return num; |
169 | 509k | } _ZN5doris4simd14count_zero_numImQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 459k | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 459k | T num = 0; | 131 | 459k | const int8_t* end = data + size; | 132 | | #if defined(__ARM_NEON) | 133 | | const int8_t* end64 = data + (size / 64 * 64); | 134 | | | 135 | | for (; data < end64; data += 64) { | 136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); | 137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); | 138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); | 139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); | 140 | | | 141 | | auto s0 = vaddq_u8(a0, a1); | 142 | | auto s1 = vaddq_u8(a2, a3); | 143 | | auto s = vaddq_u8(s0, s1); | 144 | | num += vaddvq_u8(s); | 145 | | } | 146 | | #elif defined(__SSE2__) && defined(__POPCNT__) | 147 | | const __m128i zero16 = _mm_setzero_si128(); | 148 | 459k | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 3.34M | for (; data < end64; data += 64) { | 151 | 2.88M | num += __builtin_popcountll( | 152 | 2.88M | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 2.88M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 2.88M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 2.88M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 2.88M | << 16U) | | 157 | 2.88M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 2.88M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 2.88M | << 32U) | | 160 | 2.88M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 2.88M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 2.88M | << 48U)); | 163 | 2.88M | } | 164 | 459k | #endif | 165 | 5.55M | for (; data < end; ++data) { | 166 | 5.09M | num += (*data == 0); | 167 | 5.09M | } | 168 | 459k | return num; | 169 | 459k | } |
_ZN5doris4simd14count_zero_numIlQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 26 | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 26 | T num = 0; | 131 | 26 | const int8_t* end = data + size; | 132 | | #if defined(__ARM_NEON) | 133 | | const int8_t* end64 = data + (size / 64 * 64); | 134 | | | 135 | | for (; data < end64; data += 64) { | 136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); | 137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); | 138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); | 139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); | 140 | | | 141 | | auto s0 = vaddq_u8(a0, a1); | 142 | | auto s1 = vaddq_u8(a2, a3); | 143 | | auto s = vaddq_u8(s0, s1); | 144 | | num += vaddvq_u8(s); | 145 | | } | 146 | | #elif defined(__SSE2__) && defined(__POPCNT__) | 147 | | const __m128i zero16 = _mm_setzero_si128(); | 148 | 26 | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 26 | for (; data < end64; data += 64) { | 151 | 0 | num += __builtin_popcountll( | 152 | 0 | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 0 | << 16U) | | 157 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 0 | << 32U) | | 160 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 0 | << 48U)); | 163 | 0 | } | 164 | 26 | #endif | 165 | 89 | for (; data < end; ++data) { | 166 | 63 | num += (*data == 0); | 167 | 63 | } | 168 | 26 | return num; | 169 | 26 | } |
_ZN5doris4simd14count_zero_numIiQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 50.3k | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 50.3k | T num = 0; | 131 | 50.3k | const int8_t* end = data + size; | 132 | | #if defined(__ARM_NEON) | 133 | | const int8_t* end64 = data + (size / 64 * 64); | 134 | | | 135 | | for (; data < end64; data += 64) { | 136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); | 137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); | 138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); | 139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); | 140 | | | 141 | | auto s0 = vaddq_u8(a0, a1); | 142 | | auto s1 = vaddq_u8(a2, a3); | 143 | | auto s = vaddq_u8(s0, s1); | 144 | | num += vaddvq_u8(s); | 145 | | } | 146 | | #elif defined(__SSE2__) && defined(__POPCNT__) | 147 | | const __m128i zero16 = _mm_setzero_si128(); | 148 | 50.3k | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 265k | for (; data < end64; data += 64) { | 151 | 215k | num += __builtin_popcountll( | 152 | 215k | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 215k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 215k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 215k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 215k | << 16U) | | 157 | 215k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 215k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 215k | << 32U) | | 160 | 215k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 215k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 215k | << 48U)); | 163 | 215k | } | 164 | 50.3k | #endif | 165 | 738k | for (; data < end; ++data) { | 166 | 688k | num += (*data == 0); | 167 | 688k | } | 168 | 50.3k | return num; | 169 | 50.3k | } |
|
170 | | |
171 | | template <typename T> |
172 | | requires requires { std::is_unsigned_v<T>; } |
173 | 1.11k | inline T count_zero_num(const int8_t* __restrict data, const uint8_t* __restrict null_map, T size) { |
174 | 1.11k | T num = 0; |
175 | 1.11k | const int8_t* end = data + size; |
176 | | #if defined(__ARM_NEON) |
177 | | const int8_t* end64 = data + (size / 64 * 64); |
178 | | |
179 | | for (; data < end64; data += 64, null_map += 64) { |
180 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); |
181 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); |
182 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); |
183 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); |
184 | | |
185 | | auto r0 = vorrq_u8(a0, vld1q_u8(null_map)); |
186 | | auto r1 = vorrq_u8(a1, vld1q_u8(null_map + 16)); |
187 | | auto r2 = vorrq_u8(a2, vld1q_u8(null_map + 32)); |
188 | | auto r3 = vorrq_u8(a3, vld1q_u8(null_map + 48)); |
189 | | |
190 | | auto s0 = vaddq_u8(r0, r1); |
191 | | auto s1 = vaddq_u8(r2, r3); |
192 | | auto s = vaddq_u8(s0, s1); |
193 | | num += vaddvq_u8(s); |
194 | | } |
195 | | #elif defined(__SSE2__) && defined(__POPCNT__) |
196 | | const __m128i zero16 = _mm_setzero_si128(); |
197 | 1.11k | const __m128i one16 = _mm_set1_epi8(1); |
198 | 1.11k | const int8_t* end64 = data + (size / 64 * 64); |
199 | | |
200 | 1.11k | for (; data < end64; data += 64, null_map += 64) { |
201 | 4 | num += __builtin_popcountll( |
202 | 4 | static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
203 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), |
204 | 4 | zero16), |
205 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map)), |
206 | 4 | one16)))) | |
207 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
208 | 4 | _mm_cmpeq_epi8( |
209 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), |
210 | 4 | zero16), |
211 | 4 | _mm_cmpeq_epi8( |
212 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 16)), |
213 | 4 | one16)))) |
214 | 4 | << 16U) | |
215 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
216 | 4 | _mm_cmpeq_epi8( |
217 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), |
218 | 4 | zero16), |
219 | 4 | _mm_cmpeq_epi8( |
220 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 32)), |
221 | 4 | one16)))) |
222 | 4 | << 32U) | |
223 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
224 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), |
225 | 4 | zero16), |
226 | 4 | _mm_cmpeq_epi8( |
227 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 48)), |
228 | 4 | one16))))) |
229 | 4 | << 48U); |
230 | 4 | } |
231 | 1.11k | #endif |
232 | 28.9k | for (; data < end; ++data, ++null_map) { |
233 | 27.7k | num += ((*data == 0) | *null_map); |
234 | 27.7k | } |
235 | 1.11k | return num; |
236 | 1.11k | } |
237 | | |
238 | | // TODO: compare with different SIMD implements |
239 | | template <class T> |
240 | 594k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { |
241 | 594k | if (start >= vec.size()) { |
242 | 20.9k | return start; |
243 | 20.9k | } |
244 | 573k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); |
245 | 573k | if (p == nullptr) { |
246 | 55.7k | return vec.size(); |
247 | 55.7k | } |
248 | 517k | return (T*)p - vec.data(); |
249 | 573k | } unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 418k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 418k | if (start >= vec.size()) { | 242 | 17.9k | return start; | 243 | 17.9k | } | 244 | 400k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 400k | if (p == nullptr) { | 246 | 51.6k | return vec.size(); | 247 | 51.6k | } | 248 | 348k | return (T*)p - vec.data(); | 249 | 400k | } |
unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 37.9k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 37.9k | if (start >= vec.size()) { | 242 | 28 | return start; | 243 | 28 | } | 244 | 37.9k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 37.9k | if (p == nullptr) { | 246 | 73 | return vec.size(); | 247 | 73 | } | 248 | 37.8k | return (T*)p - vec.data(); | 249 | 37.9k | } |
column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 137k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 137k | if (start >= vec.size()) { | 242 | 2.94k | return start; | 243 | 2.94k | } | 244 | 135k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 135k | if (p == nullptr) { | 246 | 3.97k | return vec.size(); | 247 | 3.97k | } | 248 | 131k | return (T*)p - vec.data(); | 249 | 135k | } |
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: column_variant.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_30_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_29_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_28_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_27_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_26_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_25_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_24_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_22_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ |
250 | | |
251 | | template <class T> |
252 | 0 | static size_t find_byte(const T* data, size_t start, size_t end, T byte) { |
253 | 0 | if (start >= end) { |
254 | 0 | return start; |
255 | 0 | } |
256 | 0 | const void* p = std::memchr((const void*)(data + start), byte, end - start); |
257 | 0 | if (p == nullptr) { |
258 | 0 | return end; |
259 | 0 | } |
260 | 0 | return (T*)p - data; |
261 | 0 | } Unexecuted instantiation: unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: column_variant.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_30_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_29_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_28_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_27_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_26_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_25_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_24_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_22_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ |
262 | | |
263 | 300k | inline size_t find_one(const std::vector<uint8_t>& vec, size_t start) { |
264 | 300k | return find_byte<uint8_t>(vec, start, 1); |
265 | 300k | } |
266 | | |
267 | 95 | inline size_t find_one(const uint8_t* data, size_t start, size_t end) { |
268 | 95 | return find_byte<uint8_t>(data, start, end, 1); |
269 | 95 | } |
270 | | |
271 | 318k | inline size_t find_zero(const std::vector<uint8_t>& vec, size_t start) { |
272 | 318k | return find_byte<uint8_t>(vec, start, 0); |
273 | 318k | } |
274 | | |
275 | 1.02M | inline bool contain_one(const uint8_t* __restrict data, size_t size) { |
276 | 1.02M | size_t i = 0; |
277 | 1.02M | #if defined(__AVX2__) |
278 | 22.2M | for (; i + 32 <= size; i += 32) { |
279 | 21.2M | __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i)); |
280 | 21.2M | if (!_mm256_testz_si256(chunk, chunk)) { |
281 | 55.2k | return true; |
282 | 55.2k | } |
283 | 21.2M | } |
284 | | #elif defined(__SSE2__) |
285 | | const __m128i zero = _mm_setzero_si128(); |
286 | | for (; i + 16 <= size; i += 16) { |
287 | | __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i)); |
288 | | if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0xFFFF) { |
289 | | return true; |
290 | | } |
291 | | } |
292 | | #endif |
293 | 7.24M | for (; i < size; ++i) { |
294 | 6.39M | if (data[i]) { |
295 | 125k | return true; |
296 | 125k | } |
297 | 6.39M | } |
298 | 845k | return false; |
299 | 970k | } |
300 | | |
301 | 62.9k | inline bool contain_zero(const uint8_t* __restrict data, size_t size) { |
302 | 62.9k | size_t i = 0; |
303 | 62.9k | #if defined(__AVX2__) |
304 | 62.9k | const __m256i zero = _mm256_setzero_si256(); |
305 | 698k | for (; i + 32 <= size; i += 32) { |
306 | 639k | __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i)); |
307 | 639k | if (_mm256_movemask_epi8(_mm256_cmpeq_epi8(chunk, zero)) != 0) { |
308 | 3.98k | return true; |
309 | 3.98k | } |
310 | 639k | } |
311 | | #elif defined(__SSE2__) |
312 | | const __m128i zero = _mm_setzero_si128(); |
313 | | for (; i + 16 <= size; i += 16) { |
314 | | __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i)); |
315 | | if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0) { |
316 | | return true; |
317 | | } |
318 | | } |
319 | | #endif |
320 | 188k | for (; i < size; ++i) { |
321 | 161k | if (!data[i]) { |
322 | 32.2k | return true; |
323 | 32.2k | } |
324 | 161k | } |
325 | 26.6k | return false; |
326 | 58.9k | } |
327 | | |
328 | | } // namespace doris::simd |