Coverage Report

Created: 2026-10-27 06:33

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/util/simd/bits.h
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
10.8M
inline uint32_t bytes32_mask_to_bits32_mask(const uint8_t* data) {
70
10.8M
#ifdef __AVX2__
71
10.8M
    auto zero32 = _mm256_setzero_si256();
72
10.8M
    auto mask = static_cast<uint32_t>(_mm256_movemask_epi8(
73
10.8M
            _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
10.8M
    return mask;
90
10.8M
}
91
92
10.8M
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
10.8M
    return bytes32_mask_to_bits32_mask(data);
97
10.8M
#endif
98
10.8M
}
99
100
6.99M
inline constexpr auto bits_mask_all() {
101
#if defined(__ARM_NEON) && defined(__aarch64__)
102
    return 0xffff'ffff'ffff'ffffULL;
103
#else
104
6.99M
    return 0xffffffff;
105
6.99M
#endif
106
6.99M
}
107
108
template <typename Func>
109
2.56M
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
35.7M
    while (mask) {
120
33.1M
        const auto bit_pos = __builtin_ctzll(mask);
121
33.1M
        func(bit_pos);
122
33.1M
        mask = mask & (mask - 1);
123
33.1M
    }
124
2.56M
#endif
125
2.56M
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE28EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_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
157
    while (mask) {
120
152
        const auto bit_pos = __builtin_ctzll(mask);
121
152
        func(bit_pos);
122
152
        mask = mask & (mask - 1);
123
152
    }
124
5
#endif
125
5
}
_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
258
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.07k
    while (mask) {
120
3.82k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.82k
        func(bit_pos);
122
3.82k
        mask = mask & (mask - 1);
123
3.82k
    }
124
258
#endif
125
258
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
13.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
256k
    while (mask) {
120
243k
        const auto bit_pos = __builtin_ctzll(mask);
121
243k
        func(bit_pos);
122
243k
        mask = mask & (mask - 1);
123
243k
    }
124
13.0k
#endif
125
13.0k
}
_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
392
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
9.37k
    while (mask) {
120
8.98k
        const auto bit_pos = __builtin_ctzll(mask);
121
8.98k
        func(bit_pos);
122
8.98k
        mask = mask & (mask - 1);
123
8.98k
    }
124
392
#endif
125
392
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
10.2k
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
85.2k
    while (mask) {
120
74.9k
        const auto bit_pos = __builtin_ctzll(mask);
121
74.9k
        func(bit_pos);
122
74.9k
        mask = mask & (mask - 1);
123
74.9k
    }
124
10.2k
#endif
125
10.2k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE35EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_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
}
_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
49.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
376k
    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
49.5k
#endif
125
49.5k
}
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
84.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
561k
    while (mask) {
120
476k
        const auto bit_pos = __builtin_ctzll(mask);
121
476k
        func(bit_pos);
122
476k
        mask = mask & (mask - 1);
123
476k
    }
124
84.6k
#endif
125
84.6k
}
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
}
Unexecuted instantiation: 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
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
345
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.27k
        const auto bit_pos = __builtin_ctzll(mask);
121
5.27k
        func(bit_pos);
122
5.27k
        mask = mask & (mask - 1);
123
5.27k
    }
124
345
#endif
125
345
}
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
3.84k
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
26.1k
    while (mask) {
120
22.2k
        const auto bit_pos = __builtin_ctzll(mask);
121
22.2k
        func(bit_pos);
122
22.2k
        mask = mask & (mask - 1);
123
22.2k
    }
124
3.84k
#endif
125
3.84k
}
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
Unexecuted instantiation: 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
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
Unexecuted instantiation: 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
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
574
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.6k
    while (mask) {
120
12.0k
        const auto bit_pos = __builtin_ctzll(mask);
121
12.0k
        func(bit_pos);
122
12.0k
        mask = mask & (mask - 1);
123
12.0k
    }
124
574
#endif
125
574
}
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
Unexecuted instantiation: 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
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
9
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
108
    while (mask) {
120
99
        const auto bit_pos = __builtin_ctzll(mask);
121
99
        func(bit_pos);
122
99
        mask = mask & (mask - 1);
123
99
    }
124
9
#endif
125
9
}
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
Unexecuted instantiation: 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
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
3
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
    while (mask) {
120
3
        const auto bit_pos = __builtin_ctzll(mask);
121
3
        func(bit_pos);
122
3
        mask = mask & (mask - 1);
123
3
    }
124
3
#endif
125
3
}
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
17
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
115
    while (mask) {
120
98
        const auto bit_pos = __builtin_ctzll(mask);
121
98
        func(bit_pos);
122
98
        mask = mask & (mask - 1);
123
98
    }
124
17
#endif
125
17
}
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.71k
    while (mask) {
120
3.59k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.59k
        func(bit_pos);
122
3.59k
        mask = mask & (mask - 1);
123
3.59k
    }
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
Unexecuted instantiation: 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
Unexecuted instantiation: 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
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
Unexecuted instantiation: 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
Unexecuted instantiation: 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
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
Unexecuted instantiation: 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
Unexecuted instantiation: 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
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
222k
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.39M
    while (mask) {
120
2.17M
        const auto bit_pos = __builtin_ctzll(mask);
121
2.17M
        func(bit_pos);
122
2.17M
        mask = mask & (mask - 1);
123
2.17M
    }
124
222k
#endif
125
222k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
339k
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.43M
    while (mask) {
120
4.09M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.09M
        func(bit_pos);
122
4.09M
        mask = mask & (mask - 1);
123
4.09M
    }
124
339k
#endif
125
339k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_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_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
18.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
219k
    while (mask) {
120
201k
        const auto bit_pos = __builtin_ctzll(mask);
121
201k
        func(bit_pos);
122
201k
        mask = mask & (mask - 1);
123
201k
    }
124
18.5k
#endif
125
18.5k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_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_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
1.62k
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.4k
    while (mask) {
120
27.8k
        const auto bit_pos = __builtin_ctzll(mask);
121
27.8k
        func(bit_pos);
122
27.8k
        mask = mask & (mask - 1);
123
27.8k
    }
124
1.62k
#endif
125
1.62k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
3.73k
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
44.5k
    while (mask) {
120
40.7k
        const auto bit_pos = __builtin_ctzll(mask);
121
40.7k
        func(bit_pos);
122
40.7k
        mask = mask & (mask - 1);
123
40.7k
    }
124
3.73k
#endif
125
3.73k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
43.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
748k
    while (mask) {
120
705k
        const auto bit_pos = __builtin_ctzll(mask);
121
705k
        func(bit_pos);
122
705k
        mask = mask & (mask - 1);
123
705k
    }
124
43.0k
#endif
125
43.0k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
52.2k
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
588k
    while (mask) {
120
536k
        const auto bit_pos = __builtin_ctzll(mask);
121
536k
        func(bit_pos);
122
536k
        mask = mask & (mask - 1);
123
536k
    }
124
52.2k
#endif
125
52.2k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
36.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
331k
    while (mask) {
120
295k
        const auto bit_pos = __builtin_ctzll(mask);
121
295k
        func(bit_pos);
122
295k
        mask = mask & (mask - 1);
123
295k
    }
124
36.0k
#endif
125
36.0k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_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_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
7.33k
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
44.4k
    while (mask) {
120
37.1k
        const auto bit_pos = __builtin_ctzll(mask);
121
37.1k
        func(bit_pos);
122
37.1k
        mask = mask & (mask - 1);
123
37.1k
    }
124
7.33k
#endif
125
7.33k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
2.43k
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.55k
    while (mask) {
120
3.11k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.11k
        func(bit_pos);
122
3.11k
        mask = mask & (mask - 1);
123
3.11k
    }
124
2.43k
#endif
125
2.43k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
11.7k
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
34.8k
    while (mask) {
120
23.1k
        const auto bit_pos = __builtin_ctzll(mask);
121
23.1k
        func(bit_pos);
122
23.1k
        mask = mask & (mask - 1);
123
23.1k
    }
124
11.7k
#endif
125
11.7k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
10.9k
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
69.3k
    while (mask) {
120
58.4k
        const auto bit_pos = __builtin_ctzll(mask);
121
58.4k
        func(bit_pos);
122
58.4k
        mask = mask & (mask - 1);
123
58.4k
    }
124
10.9k
#endif
125
10.9k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE44EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
1.28k
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.1k
    while (mask) {
120
10.9k
        const auto bit_pos = __builtin_ctzll(mask);
121
10.9k
        func(bit_pos);
122
10.9k
        mask = mask & (mask - 1);
123
10.9k
    }
124
1.28k
#endif
125
1.28k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE44EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
8.84k
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
109k
    while (mask) {
120
100k
        const auto bit_pos = __builtin_ctzll(mask);
121
100k
        func(bit_pos);
122
100k
        mask = mask & (mask - 1);
123
100k
    }
124
8.84k
#endif
125
8.84k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
235
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
480
    while (mask) {
120
245
        const auto bit_pos = __builtin_ctzll(mask);
121
245
        func(bit_pos);
122
245
        mask = mask & (mask - 1);
123
245
    }
124
235
#endif
125
235
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
336k
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.72M
    while (mask) {
120
6.39M
        const auto bit_pos = __builtin_ctzll(mask);
121
6.39M
        func(bit_pos);
122
6.39M
        mask = mask & (mask - 1);
123
6.39M
    }
124
336k
#endif
125
336k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
360
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
781
    while (mask) {
120
421
        const auto bit_pos = __builtin_ctzll(mask);
121
421
        func(bit_pos);
122
421
        mask = mask & (mask - 1);
123
421
    }
124
360
#endif
125
360
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
3
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
    while (mask) {
120
3
        const auto bit_pos = __builtin_ctzll(mask);
121
3
        func(bit_pos);
122
3
        mask = mask & (mask - 1);
123
3
    }
124
3
#endif
125
3
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
63.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.72M
    while (mask) {
120
1.65M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.65M
        func(bit_pos);
122
1.65M
        mask = mask & (mask - 1);
123
1.65M
    }
124
63.5k
#endif
125
63.5k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE43EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
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
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE42EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
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
1.84k
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
11.8k
    while (mask) {
120
9.97k
        const auto bit_pos = __builtin_ctzll(mask);
121
9.97k
        func(bit_pos);
122
9.97k
        mask = mask & (mask - 1);
123
9.97k
    }
124
1.84k
#endif
125
1.84k
}
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_22_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator33_evaluate_vectorization_predicateEPttE3$_0EEvT_j
Line
Count
Source
109
974k
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.2M
    while (mask) {
120
11.2M
        const auto bit_pos = __builtin_ctzll(mask);
121
11.2M
        func(bit_pos);
122
11.2M
        mask = mask & (mask - 1);
123
11.2M
    }
124
974k
#endif
125
974k
}
unity_22_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator28_evaluate_common_expr_filterEPttRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE3$_0EEvT_j
Line
Count
Source
109
265k
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.64M
    while (mask) {
120
4.38M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.38M
        func(bit_pos);
122
4.38M
        mask = mask & (mask - 1);
123
4.38M
    }
124
265k
#endif
125
265k
}
126
127
template <typename T>
128
    requires requires { std::is_unsigned_v<T>; }
129
2.33M
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
2.33M
    T num = 0;
131
2.33M
    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
2.33M
    const int8_t* end64 = data + (size / 64 * 64);
149
150
8.57M
    for (; data < end64; data += 64) {
151
6.24M
        num += __builtin_popcountll(
152
6.24M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
6.24M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
6.24M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
6.24M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
6.24M
                 << 16U) |
157
6.24M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
6.24M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
6.24M
                 << 32U) |
160
6.24M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
6.24M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
6.24M
                 << 48U));
163
6.24M
    }
164
2.33M
#endif
165
12.7M
    for (; data < end; ++data) {
166
10.4M
        num += (*data == 0);
167
10.4M
    }
168
2.33M
    return num;
169
2.33M
}
_ZN5doris4simd14count_zero_numImQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
2.25M
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
2.25M
    T num = 0;
131
2.25M
    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
2.25M
    const int8_t* end64 = data + (size / 64 * 64);
149
150
8.29M
    for (; data < end64; data += 64) {
151
6.04M
        num += __builtin_popcountll(
152
6.04M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
6.04M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
6.04M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
6.04M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
6.04M
                 << 16U) |
157
6.04M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
6.04M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
6.04M
                 << 32U) |
160
6.04M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
6.04M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
6.04M
                 << 48U));
163
6.04M
    }
164
2.25M
#endif
165
11.3M
    for (; data < end; ++data) {
166
9.12M
        num += (*data == 0);
167
9.12M
    }
168
2.25M
    return num;
169
2.25M
}
_ZN5doris4simd14count_zero_numIlQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
616
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
616
    T num = 0;
131
616
    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
616
    const int8_t* end64 = data + (size / 64 * 64);
149
150
616
    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
616
#endif
165
1.26k
    for (; data < end; ++data) {
166
653
        num += (*data == 0);
167
653
    }
168
616
    return num;
169
616
}
_ZN5doris4simd14count_zero_numIiQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
73.5k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
73.5k
    T num = 0;
131
73.5k
    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
73.5k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
280k
    for (; data < end64; data += 64) {
151
206k
        num += __builtin_popcountll(
152
206k
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
206k
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
206k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
206k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
206k
                 << 16U) |
157
206k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
206k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
206k
                 << 32U) |
160
206k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
206k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
206k
                 << 48U));
163
206k
    }
164
73.5k
#endif
165
1.36M
    for (; data < end; ++data) {
166
1.29M
        num += (*data == 0);
167
1.29M
    }
168
73.5k
    return num;
169
73.5k
}
170
171
template <typename T>
172
    requires requires { std::is_unsigned_v<T>; }
173
3.36k
inline T count_zero_num(const int8_t* __restrict data, const uint8_t* __restrict null_map, T size) {
174
3.36k
    T num = 0;
175
3.36k
    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
3.36k
    const __m128i one16 = _mm_set1_epi8(1);
198
3.36k
    const int8_t* end64 = data + (size / 64 * 64);
199
200
15.4k
    for (; data < end64; data += 64, null_map += 64) {
201
12.0k
        num += __builtin_popcountll(
202
12.0k
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
203
12.0k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data)),
204
12.0k
                                       zero16),
205
12.0k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map)),
206
12.0k
                                       one16)))) |
207
12.0k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
208
12.0k
                         _mm_cmpeq_epi8(
209
12.0k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)),
210
12.0k
                                 zero16),
211
12.0k
                         _mm_cmpeq_epi8(
212
12.0k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 16)),
213
12.0k
                                 one16))))
214
12.0k
                 << 16U) |
215
12.0k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
216
12.0k
                         _mm_cmpeq_epi8(
217
12.0k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)),
218
12.0k
                                 zero16),
219
12.0k
                         _mm_cmpeq_epi8(
220
12.0k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 32)),
221
12.0k
                                 one16))))
222
12.0k
                 << 32U) |
223
12.0k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
224
12.0k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)),
225
12.0k
                                       zero16),
226
12.0k
                        _mm_cmpeq_epi8(
227
12.0k
                                _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 48)),
228
12.0k
                                one16)))))
229
12.0k
                        << 48U);
230
12.0k
    }
231
3.36k
#endif
232
10.0k
    for (; data < end; ++data, ++null_map) {
233
6.71k
        num += ((*data == 0) | *null_map);
234
6.71k
    }
235
3.36k
    return num;
236
3.36k
}
237
238
// TODO: compare with different SIMD implements
239
template <class T>
240
746k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
746k
    if (start >= vec.size()) {
242
19.5k
        return start;
243
19.5k
    }
244
727k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
727k
    if (p == nullptr) {
246
56.3k
        return vec.size();
247
56.3k
    }
248
670k
    return (T*)p - vec.data();
249
727k
}
unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
581k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
581k
    if (start >= vec.size()) {
242
16.7k
        return start;
243
16.7k
    }
244
564k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
564k
    if (p == nullptr) {
246
52.4k
        return vec.size();
247
52.4k
    }
248
512k
    return (T*)p - vec.data();
249
564k
}
unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
286
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
286
    if (start >= vec.size()) {
242
47
        return start;
243
47
    }
244
239
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
239
    if (p == nullptr) {
246
180
        return vec.size();
247
180
    }
248
59
    return (T*)p - vec.data();
249
239
}
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
30.1k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
30.1k
    if (start >= vec.size()) {
242
16
        return start;
243
16
    }
244
30.1k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
30.1k
    if (p == nullptr) {
246
43
        return vec.size();
247
43
    }
248
30.1k
    return (T*)p - vec.data();
249
30.1k
}
column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
134k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
134k
    if (start >= vec.size()) {
242
2.75k
        return start;
243
2.75k
    }
244
131k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
131k
    if (p == nullptr) {
246
3.67k
        return vec.size();
247
3.67k
    }
248
128k
    return (T*)p - vec.data();
249
131k
}
Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_7_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_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_6_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_31_cxx.cxx:_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_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: 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: 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_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_4_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_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_7_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_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_6_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_31_cxx.cxx:_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_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: 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: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
262
263
379k
inline size_t find_one(const std::vector<uint8_t>& vec, size_t start) {
264
379k
    return find_byte<uint8_t>(vec, start, 1);
265
379k
}
266
267
333
inline size_t find_one(const uint8_t* data, size_t start, size_t end) {
268
333
    return find_byte<uint8_t>(data, start, end, 1);
269
333
}
270
271
394k
inline size_t find_zero(const std::vector<uint8_t>& vec, size_t start) {
272
394k
    return find_byte<uint8_t>(vec, start, 0);
273
394k
}
274
275
1.03M
inline bool contain_one(const uint8_t* __restrict data, size_t size) {
276
1.03M
    size_t i = 0;
277
1.03M
#if defined(__AVX2__)
278
17.7M
    for (; i + 32 <= size; i += 32) {
279
16.7M
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
280
16.7M
        if (!_mm256_testz_si256(chunk, chunk)) {
281
70.3k
            return true;
282
70.3k
        }
283
16.7M
    }
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
#elif defined(__ARM_NEON) && defined(__aarch64__)
293
    for (; i + 16 <= size; i += 16) {
294
        if (vmaxvq_u8(vld1q_u8(data + i)) != 0) {
295
            return true;
296
        }
297
    }
298
#endif
299
5.63M
    for (; i < size; ++i) {
300
4.80M
        if (data[i]) {
301
132k
            return true;
302
132k
        }
303
4.80M
    }
304
831k
    return false;
305
963k
}
306
307
73.0k
inline bool contain_zero(const uint8_t* __restrict data, size_t size) {
308
73.0k
    size_t i = 0;
309
73.0k
#if defined(__AVX2__)
310
73.0k
    const __m256i zero = _mm256_setzero_si256();
311
408k
    for (; i + 32 <= size; i += 32) {
312
339k
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
313
339k
        if (_mm256_movemask_epi8(_mm256_cmpeq_epi8(chunk, zero)) != 0) {
314
4.00k
            return true;
315
4.00k
        }
316
339k
    }
317
#elif defined(__SSE2__)
318
    const __m128i zero = _mm_setzero_si128();
319
    for (; i + 16 <= size; i += 16) {
320
        __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i));
321
        if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0) {
322
            return true;
323
        }
324
    }
325
#elif defined(__ARM_NEON) && defined(__aarch64__)
326
    for (; i + 16 <= size; i += 16) {
327
        if (vminvq_u8(vld1q_u8(data + i)) == 0) {
328
            return true;
329
        }
330
    }
331
#endif
332
167k
    for (; i < size; ++i) {
333
140k
        if (!data[i]) {
334
42.2k
            return true;
335
42.2k
        }
336
140k
    }
337
26.8k
    return false;
338
69.0k
}
339
340
} // namespace doris::simd