Coverage Report

Created: 2026-10-02 19:37

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.9M
inline uint32_t bytes32_mask_to_bits32_mask(const uint8_t* data) {
70
10.9M
#ifdef __AVX2__
71
10.9M
    auto zero32 = _mm256_setzero_si256();
72
10.9M
    auto mask = static_cast<uint32_t>(_mm256_movemask_epi8(
73
10.9M
            _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.9M
    return mask;
90
10.9M
}
91
92
10.9M
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.9M
    return bytes32_mask_to_bits32_mask(data);
97
10.9M
#endif
98
10.9M
}
99
100
6.79M
inline constexpr auto bits_mask_all() {
101
#if defined(__ARM_NEON) && defined(__aarch64__)
102
    return 0xffff'ffff'ffff'ffffULL;
103
#else
104
6.79M
    return 0xffffffff;
105
6.79M
#endif
106
6.79M
}
107
108
template <typename Func>
109
2.62M
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.6M
    while (mask) {
120
33.0M
        const auto bit_pos = __builtin_ctzll(mask);
121
33.0M
        func(bit_pos);
122
33.0M
        mask = mask & (mask - 1);
123
33.0M
    }
124
2.62M
#endif
125
2.62M
}
_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
260
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.11k
    while (mask) {
120
3.85k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.85k
        func(bit_pos);
122
3.85k
        mask = mask & (mask - 1);
123
3.85k
    }
124
260
#endif
125
260
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
2.77k
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
21.7k
    while (mask) {
120
19.0k
        const auto bit_pos = __builtin_ctzll(mask);
121
19.0k
        func(bit_pos);
122
19.0k
        mask = mask & (mask - 1);
123
19.0k
    }
124
2.77k
#endif
125
2.77k
}
_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
508
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.0k
    while (mask) {
120
11.5k
        const auto bit_pos = __builtin_ctzll(mask);
121
11.5k
        func(bit_pos);
122
11.5k
        mask = mask & (mask - 1);
123
11.5k
    }
124
508
#endif
125
508
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
18.3k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
199k
    while (mask) {
120
180k
        const auto bit_pos = __builtin_ctzll(mask);
121
180k
        func(bit_pos);
122
180k
        mask = mask & (mask - 1);
123
180k
    }
124
18.3k
#endif
125
18.3k
}
_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
33.1k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
242k
    while (mask) {
120
209k
        const auto bit_pos = __builtin_ctzll(mask);
121
209k
        func(bit_pos);
122
209k
        mask = mask & (mask - 1);
123
209k
    }
124
33.1k
#endif
125
33.1k
}
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
158k
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
985k
    while (mask) {
120
826k
        const auto bit_pos = __builtin_ctzll(mask);
121
826k
        func(bit_pos);
122
826k
        mask = mask & (mask - 1);
123
826k
    }
124
158k
#endif
125
158k
}
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
4.04k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
26.9k
    while (mask) {
120
22.8k
        const auto bit_pos = __builtin_ctzll(mask);
121
22.8k
        func(bit_pos);
122
22.8k
        mask = mask & (mask - 1);
123
22.8k
    }
124
4.04k
#endif
125
4.04k
}
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericItmNS2_22NoResultOffsetsBuilderImEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingItmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_20ResultOffsetsBuilderIjLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEjNS2_22NoResultOffsetsBuilderIjEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j
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
168
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
345
    while (mask) {
120
177
        const auto bit_pos = __builtin_ctzll(mask);
121
177
        func(bit_pos);
122
177
        mask = mask & (mask - 1);
123
177
    }
124
168
#endif
125
168
}
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
573
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
573
#endif
125
573
}
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
106
    while (mask) {
120
97
        const auto bit_pos = __builtin_ctzll(mask);
121
97
        func(bit_pos);
122
97
        mask = mask & (mask - 1);
123
97
    }
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
138k
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.57M
    while (mask) {
120
1.43M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.43M
        func(bit_pos);
122
1.43M
        mask = mask & (mask - 1);
123
1.43M
    }
124
138k
#endif
125
138k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
356k
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.40M
    while (mask) {
120
4.04M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.04M
        func(bit_pos);
122
4.04M
        mask = mask & (mask - 1);
123
4.04M
    }
124
356k
#endif
125
356k
}
_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
26.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
334k
    while (mask) {
120
308k
        const auto bit_pos = __builtin_ctzll(mask);
121
308k
        func(bit_pos);
122
308k
        mask = mask & (mask - 1);
123
308k
    }
124
26.5k
#endif
125
26.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.82k
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.8k
    while (mask) {
120
28.0k
        const auto bit_pos = __builtin_ctzll(mask);
121
28.0k
        func(bit_pos);
122
28.0k
        mask = mask & (mask - 1);
123
28.0k
    }
124
1.82k
#endif
125
1.82k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
4.36k
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
49.2k
    while (mask) {
120
44.9k
        const auto bit_pos = __builtin_ctzll(mask);
121
44.9k
        func(bit_pos);
122
44.9k
        mask = mask & (mask - 1);
123
44.9k
    }
124
4.36k
#endif
125
4.36k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
28.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
390k
    while (mask) {
120
362k
        const auto bit_pos = __builtin_ctzll(mask);
121
362k
        func(bit_pos);
122
362k
        mask = mask & (mask - 1);
123
362k
    }
124
28.0k
#endif
125
28.0k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
6.02k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
43.6k
    while (mask) {
120
37.6k
        const auto bit_pos = __builtin_ctzll(mask);
121
37.6k
        func(bit_pos);
122
37.6k
        mask = mask & (mask - 1);
123
37.6k
    }
124
6.02k
#endif
125
6.02k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
38.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
387k
    while (mask) {
120
349k
        const auto bit_pos = __builtin_ctzll(mask);
121
349k
        func(bit_pos);
122
349k
        mask = mask & (mask - 1);
123
349k
    }
124
38.5k
#endif
125
38.5k
}
_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
6.63k
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
39.2k
    while (mask) {
120
32.5k
        const auto bit_pos = __builtin_ctzll(mask);
121
32.5k
        func(bit_pos);
122
32.5k
        mask = mask & (mask - 1);
123
32.5k
    }
124
6.63k
#endif
125
6.63k
}
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.55k
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.94k
    while (mask) {
120
3.39k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.39k
        func(bit_pos);
122
3.39k
        mask = mask & (mask - 1);
123
3.39k
    }
124
2.55k
#endif
125
2.55k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
8.09k
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.3k
    while (mask) {
120
27.2k
        const auto bit_pos = __builtin_ctzll(mask);
121
27.2k
        func(bit_pos);
122
27.2k
        mask = mask & (mask - 1);
123
27.2k
    }
124
8.09k
#endif
125
8.09k
}
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
2.56k
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
24.3k
    while (mask) {
120
21.8k
        const auto bit_pos = __builtin_ctzll(mask);
121
21.8k
        func(bit_pos);
122
21.8k
        mask = mask & (mask - 1);
123
21.8k
    }
124
2.56k
#endif
125
2.56k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE44EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
8.08k
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
100k
    while (mask) {
120
92.5k
        const auto bit_pos = __builtin_ctzll(mask);
121
92.5k
        func(bit_pos);
122
92.5k
        mask = mask & (mask - 1);
123
92.5k
    }
124
8.08k
#endif
125
8.08k
}
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
436
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
883
    while (mask) {
120
447
        const auto bit_pos = __builtin_ctzll(mask);
121
447
        func(bit_pos);
122
447
        mask = mask & (mask - 1);
123
447
    }
124
436
#endif
125
436
}
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
342k
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.86M
    while (mask) {
120
6.52M
        const auto bit_pos = __builtin_ctzll(mask);
121
6.52M
        func(bit_pos);
122
6.52M
        mask = mask & (mask - 1);
123
6.52M
    }
124
342k
#endif
125
342k
}
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
351
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
736
    while (mask) {
120
385
        const auto bit_pos = __builtin_ctzll(mask);
121
385
        func(bit_pos);
122
385
        mask = mask & (mask - 1);
123
385
    }
124
351
#endif
125
351
}
_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
71.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
1.83M
    while (mask) {
120
1.76M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.76M
        func(bit_pos);
122
1.76M
        mask = mask & (mask - 1);
123
1.76M
    }
124
71.6k
#endif
125
71.6k
}
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
69.3k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
286k
    while (mask) {
120
217k
        const auto bit_pos = __builtin_ctzll(mask);
121
217k
        func(bit_pos);
122
217k
        mask = mask & (mask - 1);
123
217k
    }
124
69.3k
#endif
125
69.3k
}
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_23_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator33_evaluate_vectorization_predicateEPttE3$_0EEvT_j
Line
Count
Source
109
1.03M
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
13.3M
    while (mask) {
120
12.3M
        const auto bit_pos = __builtin_ctzll(mask);
121
12.3M
        func(bit_pos);
122
12.3M
        mask = mask & (mask - 1);
123
12.3M
    }
124
1.03M
#endif
125
1.03M
}
unity_23_cxx.cxx:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator28_evaluate_common_expr_filterEPttRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE3$_0EEvT_j
Line
Count
Source
109
254k
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.38M
    while (mask) {
120
4.12M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.12M
        func(bit_pos);
122
4.12M
        mask = mask & (mask - 1);
123
4.12M
    }
124
254k
#endif
125
254k
}
126
127
template <typename T>
128
    requires requires { std::is_unsigned_v<T>; }
129
324k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
324k
    T num = 0;
131
324k
    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
324k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
2.98M
    for (; data < end64; data += 64) {
151
2.65M
        num += __builtin_popcountll(
152
2.65M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
2.65M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
2.65M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
2.65M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
2.65M
                 << 16U) |
157
2.65M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
2.65M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
2.65M
                 << 32U) |
160
2.65M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
2.65M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
2.65M
                 << 48U));
163
2.65M
    }
164
324k
#endif
165
5.54M
    for (; data < end; ++data) {
166
5.21M
        num += (*data == 0);
167
5.21M
    }
168
324k
    return num;
169
324k
}
_ZN5doris4simd14count_zero_numImQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
283k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
283k
    T num = 0;
131
283k
    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
283k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
2.72M
    for (; data < end64; data += 64) {
151
2.44M
        num += __builtin_popcountll(
152
2.44M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
2.44M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
2.44M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
2.44M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
2.44M
                 << 16U) |
157
2.44M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
2.44M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
2.44M
                 << 32U) |
160
2.44M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
2.44M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
2.44M
                 << 48U));
163
2.44M
    }
164
283k
#endif
165
4.83M
    for (; data < end; ++data) {
166
4.54M
        num += (*data == 0);
167
4.54M
    }
168
283k
    return num;
169
283k
}
_ZN5doris4simd14count_zero_numIlQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
478
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
478
    T num = 0;
131
478
    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
478
    const int8_t* end64 = data + (size / 64 * 64);
149
150
478
    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
478
#endif
165
993
    for (; data < end; ++data) {
166
515
        num += (*data == 0);
167
515
    }
168
478
    return num;
169
478
}
_ZN5doris4simd14count_zero_numIiQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
40.3k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
40.3k
    T num = 0;
131
40.3k
    const int8_t* end = data + size;
132
#if defined(__ARM_NEON)
133
    const int8_t* end64 = data + (size / 64 * 64);
134
135
    for (; data < end64; data += 64) {
136
        auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7);
137
        auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7);
138
        auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7);
139
        auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7);
140
141
        auto s0 = vaddq_u8(a0, a1);
142
        auto s1 = vaddq_u8(a2, a3);
143
        auto s = vaddq_u8(s0, s1);
144
        num += vaddvq_u8(s);
145
    }
146
#elif defined(__SSE2__) && defined(__POPCNT__)
147
    const __m128i zero16 = _mm_setzero_si128();
148
40.3k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
256k
    for (; data < end64; data += 64) {
151
215k
        num += __builtin_popcountll(
152
215k
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
215k
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
215k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
215k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
215k
                 << 16U) |
157
215k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
215k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
215k
                 << 32U) |
160
215k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
215k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
215k
                 << 48U));
163
215k
    }
164
40.3k
#endif
165
710k
    for (; data < end; ++data) {
166
670k
        num += (*data == 0);
167
670k
    }
168
40.3k
    return num;
169
40.3k
}
170
171
template <typename T>
172
    requires requires { std::is_unsigned_v<T>; }
173
409
inline T count_zero_num(const int8_t* __restrict data, const uint8_t* __restrict null_map, T size) {
174
409
    T num = 0;
175
409
    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
409
    const __m128i one16 = _mm_set1_epi8(1);
198
409
    const int8_t* end64 = data + (size / 64 * 64);
199
200
8.09k
    for (; data < end64; data += 64, null_map += 64) {
201
7.68k
        num += __builtin_popcountll(
202
7.68k
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
203
7.68k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data)),
204
7.68k
                                       zero16),
205
7.68k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map)),
206
7.68k
                                       one16)))) |
207
7.68k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
208
7.68k
                         _mm_cmpeq_epi8(
209
7.68k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)),
210
7.68k
                                 zero16),
211
7.68k
                         _mm_cmpeq_epi8(
212
7.68k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 16)),
213
7.68k
                                 one16))))
214
7.68k
                 << 16U) |
215
7.68k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
216
7.68k
                         _mm_cmpeq_epi8(
217
7.68k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)),
218
7.68k
                                 zero16),
219
7.68k
                         _mm_cmpeq_epi8(
220
7.68k
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 32)),
221
7.68k
                                 one16))))
222
7.68k
                 << 32U) |
223
7.68k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
224
7.68k
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)),
225
7.68k
                                       zero16),
226
7.68k
                        _mm_cmpeq_epi8(
227
7.68k
                                _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 48)),
228
7.68k
                                one16)))))
229
7.68k
                        << 48U);
230
7.68k
    }
231
409
#endif
232
8.86k
    for (; data < end; ++data, ++null_map) {
233
8.45k
        num += ((*data == 0) | *null_map);
234
8.45k
    }
235
409
    return num;
236
409
}
237
238
// TODO: compare with different SIMD implements
239
template <class T>
240
495k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
495k
    if (start >= vec.size()) {
242
19.7k
        return start;
243
19.7k
    }
244
476k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
476k
    if (p == nullptr) {
246
53.7k
        return vec.size();
247
53.7k
    }
248
422k
    return (T*)p - vec.data();
249
476k
}
unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
346k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
346k
    if (start >= vec.size()) {
242
17.3k
        return start;
243
17.3k
    }
244
329k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
329k
    if (p == nullptr) {
246
50.8k
        return vec.size();
247
50.8k
    }
248
278k
    return (T*)p - vec.data();
249
329k
}
unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
34.2k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
34.2k
    if (start >= vec.size()) {
242
237
        return start;
243
237
    }
244
33.9k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
33.9k
    if (p == nullptr) {
246
294
        return vec.size();
247
294
    }
248
33.6k
    return (T*)p - vec.data();
249
33.9k
}
column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
114k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
114k
    if (start >= vec.size()) {
242
2.16k
        return start;
243
2.16k
    }
244
112k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
112k
    if (p == nullptr) {
246
2.60k
        return vec.size();
247
2.60k
    }
248
110k
    return (T*)p - vec.data();
249
112k
}
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_31_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_29_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: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
250
251
template <class T>
252
0
static size_t find_byte(const T* data, size_t start, size_t end, T byte) {
253
0
    if (start >= end) {
254
0
        return start;
255
0
    }
256
0
    const void* p = std::memchr((const void*)(data + start), byte, end - start);
257
0
    if (p == nullptr) {
258
0
        return end;
259
0
    }
260
0
    return (T*)p - data;
261
0
}
Unexecuted instantiation: unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_31_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_29_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: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
262
263
252k
inline size_t find_one(const std::vector<uint8_t>& vec, size_t start) {
264
252k
    return find_byte<uint8_t>(vec, start, 1);
265
252k
}
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
268k
inline size_t find_zero(const std::vector<uint8_t>& vec, size_t start) {
272
268k
    return find_byte<uint8_t>(vec, start, 0);
273
268k
}
274
275
991k
inline bool contain_one(const uint8_t* __restrict data, size_t size) {
276
991k
    size_t i = 0;
277
991k
#if defined(__AVX2__)
278
21.6M
    for (; i + 32 <= size; i += 32) {
279
20.7M
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
280
20.7M
        if (!_mm256_testz_si256(chunk, chunk)) {
281
62.9k
            return true;
282
62.9k
        }
283
20.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
#endif
293
6.86M
    for (; i < size; ++i) {
294
6.06M
        if (data[i]) {
295
129k
            return true;
296
129k
        }
297
6.06M
    }
298
799k
    return false;
299
928k
}
300
301
66.5k
inline bool contain_zero(const uint8_t* __restrict data, size_t size) {
302
66.5k
    size_t i = 0;
303
66.5k
#if defined(__AVX2__)
304
66.5k
    const __m256i zero = _mm256_setzero_si256();
305
331k
    for (; i + 32 <= size; i += 32) {
306
269k
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
307
269k
        if (_mm256_movemask_epi8(_mm256_cmpeq_epi8(chunk, zero)) != 0) {
308
4.59k
            return true;
309
4.59k
        }
310
269k
    }
311
#elif defined(__SSE2__)
312
    const __m128i zero = _mm_setzero_si128();
313
    for (; i + 16 <= size; i += 16) {
314
        __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i));
315
        if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0) {
316
            return true;
317
        }
318
    }
319
#endif
320
154k
    for (; i < size; ++i) {
321
130k
        if (!data[i]) {
322
38.3k
            return true;
323
38.3k
        }
324
130k
    }
325
23.6k
    return false;
326
61.9k
}
327
328
} // namespace doris::simd