Coverage Report

Created: 2026-08-14 13:39

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
46.7M
inline uint32_t bytes32_mask_to_bits32_mask(const uint8_t* data) {
70
46.7M
#ifdef __AVX2__
71
46.7M
    auto zero32 = _mm256_setzero_si256();
72
46.7M
    auto mask = static_cast<uint32_t>(_mm256_movemask_epi8(
73
46.7M
            _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
46.7M
    return mask;
90
46.7M
}
91
92
46.7M
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
46.7M
    return bytes32_mask_to_bits32_mask(data);
97
46.7M
#endif
98
46.7M
}
99
100
24.2M
inline constexpr auto bits_mask_all() {
101
#if defined(__ARM_NEON) && defined(__aarch64__)
102
    return 0xffff'ffff'ffff'ffffULL;
103
#else
104
24.2M
    return 0xffffffff;
105
24.2M
#endif
106
24.2M
}
107
108
template <typename Func>
109
13.6M
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
270M
    while (mask) {
120
256M
        const auto bit_pos = __builtin_ctzll(mask);
121
256M
        func(bit_pos);
122
256M
        mask = mask & (mask - 1);
123
256M
    }
124
13.6M
#endif
125
13.6M
}
columns_common.cpp:_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
2.15M
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
18.5M
    while (mask) {
120
16.4M
        const auto bit_pos = __builtin_ctzll(mask);
121
16.4M
        func(bit_pos);
122
16.4M
        mask = mask & (mask - 1);
123
16.4M
    }
124
2.15M
#endif
125
2.15M
}
columns_common.cpp:_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
117k
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
977k
    while (mask) {
120
859k
        const auto bit_pos = __builtin_ctzll(mask);
121
859k
        func(bit_pos);
122
859k
        mask = mask & (mask - 1);
123
859k
    }
124
117k
#endif
125
117k
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_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
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Line
Count
Source
109
6
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
84
    while (mask) {
120
78
        const auto bit_pos = __builtin_ctzll(mask);
121
78
        func(bit_pos);
122
78
        mask = mask & (mask - 1);
123
78
    }
124
6
#endif
125
6
}
columns_common.cpp:_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
2.45M
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
66.2M
    while (mask) {
120
63.8M
        const auto bit_pos = __builtin_ctzll(mask);
121
63.8M
        func(bit_pos);
122
63.8M
        mask = mask & (mask - 1);
123
63.8M
    }
124
2.45M
#endif
125
2.45M
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIhmNS2_22NoResultOffsetsBuilderImEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Line
Count
Source
109
3.80k
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
32.9k
    while (mask) {
120
29.1k
        const auto bit_pos = __builtin_ctzll(mask);
121
29.1k
        func(bit_pos);
122
29.1k
        mask = mask & (mask - 1);
123
29.1k
    }
124
3.80k
#endif
125
3.80k
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j
Line
Count
Source
109
316
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
7.05k
    while (mask) {
120
6.73k
        const auto bit_pos = __builtin_ctzll(mask);
121
6.73k
        func(bit_pos);
122
6.73k
        mask = mask & (mask - 1);
123
6.73k
    }
124
316
#endif
125
316
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingINS_11DateV2ValueINS_15DateV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS9_IT0_Lm4096ESD_Lm16ELm15EEERKNS9_IhLm4096ESD_Lm16ELm15EEEEUlmE_EEvSA_j
Line
Count
Source
109
169
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
347
    while (mask) {
120
178
        const auto bit_pos = __builtin_ctzll(mask);
121
178
        func(bit_pos);
122
178
        mask = mask & (mask - 1);
123
178
    }
124
169
#endif
125
169
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS9_IT0_Lm4096ESD_Lm16ELm15EEERSE_PSI_RKNS9_IhLm4096ESD_Lm16ELm15EEElEUlmE_EEvSA_j
Line
Count
Source
109
322
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
6.46k
    while (mask) {
120
6.13k
        const auto bit_pos = __builtin_ctzll(mask);
121
6.13k
        func(bit_pos);
122
6.13k
        mask = mask & (mask - 1);
123
6.13k
    }
124
322
#endif
125
322
}
columns_common.cpp:_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
585
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
12.7k
    while (mask) {
120
12.2k
        const auto bit_pos = __builtin_ctzll(mask);
121
12.2k
        func(bit_pos);
122
12.2k
        mask = mask & (mask - 1);
123
12.2k
    }
124
585
#endif
125
585
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIamNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Line
Count
Source
109
364
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
7.23k
    while (mask) {
120
6.87k
        const auto bit_pos = __builtin_ctzll(mask);
121
6.87k
        func(bit_pos);
122
6.87k
        mask = mask & (mask - 1);
123
6.87k
    }
124
364
#endif
125
364
}
columns_common.cpp:_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
15
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
192
    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
15
#endif
125
15
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIsmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Line
Count
Source
109
316
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
5.47k
    while (mask) {
120
5.16k
        const auto bit_pos = __builtin_ctzll(mask);
121
5.16k
        func(bit_pos);
122
5.16k
        mask = mask & (mask - 1);
123
5.16k
    }
124
316
#endif
125
316
}
columns_common.cpp:_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
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
90
    while (mask) {
120
81
        const auto bit_pos = __builtin_ctzll(mask);
121
81
        func(bit_pos);
122
81
        mask = mask & (mask - 1);
123
81
    }
124
9
#endif
125
9
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_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
101k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
2.09M
    while (mask) {
120
1.99M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.99M
        func(bit_pos);
122
1.99M
        mask = mask & (mask - 1);
123
1.99M
    }
124
101k
#endif
125
101k
}
columns_common.cpp:_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
785
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
3.34k
    while (mask) {
120
2.56k
        const auto bit_pos = __builtin_ctzll(mask);
121
2.56k
        func(bit_pos);
122
2.56k
        mask = mask & (mask - 1);
123
2.56k
    }
124
785
#endif
125
785
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIlmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Line
Count
Source
109
323
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
6.65k
    while (mask) {
120
6.32k
        const auto bit_pos = __builtin_ctzll(mask);
121
6.32k
        func(bit_pos);
122
6.32k
        mask = mask & (mask - 1);
123
6.32k
    }
124
323
#endif
125
323
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIlmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Line
Count
Source
109
6
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
84
    while (mask) {
120
78
        const auto bit_pos = __builtin_ctzll(mask);
121
78
        func(bit_pos);
122
78
        mask = mask & (mask - 1);
123
78
    }
124
6
#endif
125
6
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIfmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Line
Count
Source
109
264
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
5.93k
    while (mask) {
120
5.67k
        const auto bit_pos = __builtin_ctzll(mask);
121
5.67k
        func(bit_pos);
122
5.67k
        mask = mask & (mask - 1);
123
5.67k
    }
124
264
#endif
125
264
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIfmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Line
Count
Source
109
6
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
84
    while (mask) {
120
78
        const auto bit_pos = __builtin_ctzll(mask);
121
78
        func(bit_pos);
122
78
        mask = mask & (mask - 1);
123
78
    }
124
6
#endif
125
6
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_126filter_arrays_impl_genericIdmNS2_20ResultOffsetsBuilderImLb0EEEEEvRKNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERKNS6_IT0_Lm4096ESA_Lm16ELm15EEERSB_PSF_RKNS6_IhLm4096ESA_Lm16ELm15EEElEUlmE_EEvS7_j
Line
Count
Source
109
1.97M
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
56.3M
    while (mask) {
120
54.3M
        const auto bit_pos = __builtin_ctzll(mask);
121
54.3M
        func(bit_pos);
122
54.3M
        mask = mask & (mask - 1);
123
54.3M
    }
124
1.97M
#endif
125
1.97M
}
columns_common.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_12_GLOBAL__N_144filter_arrays_impl_generic_without_reservingIdmNS2_20ResultOffsetsBuilderImLb1EEEEEmRNS_8PODArrayIT_Lm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEERNS6_IT0_Lm4096ESA_Lm16ELm15EEERKNS6_IhLm4096ESA_Lm16ELm15EEEEUlmE_EEvS7_j
Line
Count
Source
109
320
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.30k
    while (mask) {
120
3.98k
        const auto bit_pos = __builtin_ctzll(mask);
121
3.98k
        func(bit_pos);
122
3.98k
        mask = mask & (mask - 1);
123
3.98k
    }
124
320
#endif
125
320
}
Unexecuted instantiation: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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: columns_common.cpp:_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_13ColumnDecimalILNS_13PrimitiveTypeE28EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
63.8k
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.97M
    while (mask) {
120
1.90M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.90M
        func(bit_pos);
122
1.90M
        mask = mask & (mask - 1);
123
1.90M
    }
124
63.8k
#endif
125
63.8k
}
_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
618k
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
19.0M
    while (mask) {
120
18.3M
        const auto bit_pos = __builtin_ctzll(mask);
121
18.3M
        func(bit_pos);
122
18.3M
        mask = mask & (mask - 1);
123
18.3M
    }
124
618k
#endif
125
618k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
4.37k
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
33.4k
    while (mask) {
120
29.1k
        const auto bit_pos = __builtin_ctzll(mask);
121
29.1k
        func(bit_pos);
122
29.1k
        mask = mask & (mask - 1);
123
29.1k
    }
124
4.37k
#endif
125
4.37k
}
_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
135k
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.95M
    while (mask) {
120
1.81M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.81M
        func(bit_pos);
122
1.81M
        mask = mask & (mask - 1);
123
1.81M
    }
124
135k
#endif
125
135k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
17.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
168k
    while (mask) {
120
151k
        const auto bit_pos = __builtin_ctzll(mask);
121
151k
        func(bit_pos);
122
151k
        mask = mask & (mask - 1);
123
151k
    }
124
17.3k
#endif
125
17.3k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE35EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
211
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
4.85k
    while (mask) {
120
4.64k
        const auto bit_pos = __builtin_ctzll(mask);
121
4.64k
        func(bit_pos);
122
4.64k
        mask = mask & (mask - 1);
123
4.64k
    }
124
211
#endif
125
211
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE35EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
7
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
224
    while (mask) {
120
217
        const auto bit_pos = __builtin_ctzll(mask);
121
217
        func(bit_pos);
122
217
        mask = mask & (mask - 1);
123
217
    }
124
7
#endif
125
7
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
1.18M
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
8.79M
    while (mask) {
120
7.60M
        const auto bit_pos = __builtin_ctzll(mask);
121
7.60M
        func(bit_pos);
122
7.60M
        mask = mask & (mask - 1);
123
7.60M
    }
124
1.18M
#endif
125
1.18M
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
455k
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.96M
    while (mask) {
120
4.51M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.51M
        func(bit_pos);
122
4.51M
        mask = mask & (mask - 1);
123
4.51M
    }
124
455k
#endif
125
455k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
18.8k
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
532k
    while (mask) {
120
513k
        const auto bit_pos = __builtin_ctzll(mask);
121
513k
        func(bit_pos);
122
513k
        mask = mask & (mask - 1);
123
513k
    }
124
18.8k
#endif
125
18.8k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
23.2k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
291k
    while (mask) {
120
268k
        const auto bit_pos = __builtin_ctzll(mask);
121
268k
        func(bit_pos);
122
268k
        mask = mask & (mask - 1);
123
268k
    }
124
23.2k
#endif
125
23.2k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
24.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
624k
    while (mask) {
120
599k
        const auto bit_pos = __builtin_ctzll(mask);
121
599k
        func(bit_pos);
122
599k
        mask = mask & (mask - 1);
123
599k
    }
124
24.6k
#endif
125
24.6k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
2.75k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
37.1k
    while (mask) {
120
34.4k
        const auto bit_pos = __builtin_ctzll(mask);
121
34.4k
        func(bit_pos);
122
34.4k
        mask = mask & (mask - 1);
123
34.4k
    }
124
2.75k
#endif
125
2.75k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
669k
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
15.8M
    while (mask) {
120
15.1M
        const auto bit_pos = __builtin_ctzll(mask);
121
15.1M
        func(bit_pos);
122
15.1M
        mask = mask & (mask - 1);
123
15.1M
    }
124
669k
#endif
125
669k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
14.7k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
283k
    while (mask) {
120
268k
        const auto bit_pos = __builtin_ctzll(mask);
121
268k
        func(bit_pos);
122
268k
        mask = mask & (mask - 1);
123
268k
    }
124
14.7k
#endif
125
14.7k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
399k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
2.71M
    while (mask) {
120
2.31M
        const auto bit_pos = __builtin_ctzll(mask);
121
2.31M
        func(bit_pos);
122
2.31M
        mask = mask & (mask - 1);
123
2.31M
    }
124
399k
#endif
125
399k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
73.8k
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
583k
    while (mask) {
120
509k
        const auto bit_pos = __builtin_ctzll(mask);
121
509k
        func(bit_pos);
122
509k
        mask = mask & (mask - 1);
123
509k
    }
124
73.8k
#endif
125
73.8k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
5.23k
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
153k
    while (mask) {
120
148k
        const auto bit_pos = __builtin_ctzll(mask);
121
148k
        func(bit_pos);
122
148k
        mask = mask & (mask - 1);
123
148k
    }
124
5.23k
#endif
125
5.23k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
1.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
6.12k
    while (mask) {
120
5.02k
        const auto bit_pos = __builtin_ctzll(mask);
121
5.02k
        func(bit_pos);
122
5.02k
        mask = mask & (mask - 1);
123
5.02k
    }
124
1.09k
#endif
125
1.09k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
16.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
471k
    while (mask) {
120
455k
        const auto bit_pos = __builtin_ctzll(mask);
121
455k
        func(bit_pos);
122
455k
        mask = mask & (mask - 1);
123
455k
    }
124
16.0k
#endif
125
16.0k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
3.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
12.5k
    while (mask) {
120
9.48k
        const auto bit_pos = __builtin_ctzll(mask);
121
9.48k
        func(bit_pos);
122
9.48k
        mask = mask & (mask - 1);
123
9.48k
    }
124
3.08k
#endif
125
3.08k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
1.59M
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
46.9M
    while (mask) {
120
45.3M
        const auto bit_pos = __builtin_ctzll(mask);
121
45.3M
        func(bit_pos);
122
45.3M
        mask = mask & (mask - 1);
123
45.3M
    }
124
1.59M
#endif
125
1.59M
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
21.7k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
61.2k
    while (mask) {
120
39.5k
        const auto bit_pos = __builtin_ctzll(mask);
121
39.5k
        func(bit_pos);
122
39.5k
        mask = mask & (mask - 1);
123
39.5k
    }
124
21.7k
#endif
125
21.7k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
152
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
4.75k
    while (mask) {
120
4.60k
        const auto bit_pos = __builtin_ctzll(mask);
121
4.60k
        func(bit_pos);
122
4.60k
        mask = mask & (mask - 1);
123
4.60k
    }
124
152
#endif
125
152
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
152
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
4.60k
    while (mask) {
120
4.45k
        const auto bit_pos = __builtin_ctzll(mask);
121
4.45k
        func(bit_pos);
122
4.45k
        mask = mask & (mask - 1);
123
4.45k
    }
124
152
#endif
125
152
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
39
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.21k
    while (mask) {
120
1.17k
        const auto bit_pos = __builtin_ctzll(mask);
121
1.17k
        func(bit_pos);
122
1.17k
        mask = mask & (mask - 1);
123
1.17k
    }
124
39
#endif
125
39
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
734
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.54k
    while (mask) {
120
808
        const auto bit_pos = __builtin_ctzll(mask);
121
808
        func(bit_pos);
122
808
        mask = mask & (mask - 1);
123
808
    }
124
734
#endif
125
734
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
96.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
707k
    while (mask) {
120
611k
        const auto bit_pos = __builtin_ctzll(mask);
121
611k
        func(bit_pos);
122
611k
        mask = mask & (mask - 1);
123
611k
    }
124
96.6k
#endif
125
96.6k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
228k
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.46M
    while (mask) {
120
4.23M
        const auto bit_pos = __builtin_ctzll(mask);
121
4.23M
        func(bit_pos);
122
4.23M
        mask = mask & (mask - 1);
123
4.23M
    }
124
228k
#endif
125
228k
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
96
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
2.62k
    while (mask) {
120
2.52k
        const auto bit_pos = __builtin_ctzll(mask);
121
2.52k
        func(bit_pos);
122
2.52k
        mask = mask & (mask - 1);
123
2.52k
    }
124
96
#endif
125
96
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
306
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
640
    while (mask) {
120
334
        const auto bit_pos = __builtin_ctzll(mask);
121
334
        func(bit_pos);
122
334
        mask = mask & (mask - 1);
123
334
    }
124
306
#endif
125
306
}
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
16.8k
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
473k
    while (mask) {
120
456k
        const auto bit_pos = __builtin_ctzll(mask);
121
456k
        func(bit_pos);
122
456k
        mask = mask & (mask - 1);
123
456k
    }
124
16.8k
#endif
125
16.8k
}
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
Line
Count
Source
109
71.2k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
1.80M
    while (mask) {
120
1.73M
        const auto bit_pos = __builtin_ctzll(mask);
121
1.73M
        func(bit_pos);
122
1.73M
        mask = mask & (mask - 1);
123
1.73M
    }
124
71.2k
#endif
125
71.2k
}
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE42EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j
Line
Count
Source
109
2.51k
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
80.2k
    while (mask) {
120
77.6k
        const auto bit_pos = __builtin_ctzll(mask);
121
77.6k
        func(bit_pos);
122
77.6k
        mask = mask & (mask - 1);
123
77.6k
    }
124
2.51k
#endif
125
2.51k
}
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
342
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.12k
    while (mask) {
120
5.78k
        const auto bit_pos = __builtin_ctzll(mask);
121
5.78k
        func(bit_pos);
122
5.78k
        mask = mask & (mask - 1);
123
5.78k
    }
124
342
#endif
125
342
}
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
segment_iterator.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator33_evaluate_vectorization_predicateEPttE3$_0EEvT_j
Line
Count
Source
109
896k
void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) {
110
#if defined(__ARM_NEON) && defined(__aarch64__)
111
    mask &= 0x8888'8888'8888'8888ULL;
112
    while (mask) {
113
        const auto index = __builtin_ctzll(mask) >> 2;
114
        func(index);
115
        mask &= mask - 1;
116
    }
117
118
#else
119
9.61M
    while (mask) {
120
8.71M
        const auto bit_pos = __builtin_ctzll(mask);
121
8.71M
        func(bit_pos);
122
8.71M
        mask = mask & (mask - 1);
123
8.71M
    }
124
896k
#endif
125
896k
}
segment_iterator.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator28_evaluate_common_expr_filterEPttRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE3$_0EEvT_j
Line
Count
Source
109
204k
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
3.28M
    while (mask) {
120
3.08M
        const auto bit_pos = __builtin_ctzll(mask);
121
3.08M
        func(bit_pos);
122
3.08M
        mask = mask & (mask - 1);
123
3.08M
    }
124
204k
#endif
125
204k
}
126
127
template <typename T>
128
    requires requires { std::is_unsigned_v<T>; }
129
968k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
968k
    T num = 0;
131
968k
    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
968k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
16.1M
    for (; data < end64; data += 64) {
151
15.2M
        num += __builtin_popcountll(
152
15.2M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
15.2M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
15.2M
                 << 16U) |
157
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
15.2M
                 << 32U) |
160
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
15.2M
                 << 48U));
163
15.2M
    }
164
968k
#endif
165
18.1M
    for (; data < end; ++data) {
166
17.1M
        num += (*data == 0);
167
17.1M
    }
168
968k
    return num;
169
968k
}
_ZN5doris4simd14count_zero_numImQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
856k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
856k
    T num = 0;
131
856k
    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
856k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
16.0M
    for (; data < end64; data += 64) {
151
15.2M
        num += __builtin_popcountll(
152
15.2M
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
15.2M
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
15.2M
                 << 16U) |
157
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
15.2M
                 << 32U) |
160
15.2M
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
15.2M
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
15.2M
                 << 48U));
163
15.2M
    }
164
856k
#endif
165
16.7M
    for (; data < end; ++data) {
166
15.8M
        num += (*data == 0);
167
15.8M
    }
168
856k
    return num;
169
856k
}
_ZN5doris4simd14count_zero_numIlQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
54.9k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
54.9k
    T num = 0;
131
54.9k
    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
54.9k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
54.9k
    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
54.9k
#endif
165
109k
    for (; data < end; ++data) {
166
55.0k
        num += (*data == 0);
167
55.0k
    }
168
54.9k
    return num;
169
54.9k
}
_ZN5doris4simd14count_zero_numIiQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_
Line
Count
Source
129
57.2k
inline T count_zero_num(const int8_t* __restrict data, T size) {
130
57.2k
    T num = 0;
131
57.2k
    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
57.2k
    const int8_t* end64 = data + (size / 64 * 64);
149
150
62.9k
    for (; data < end64; data += 64) {
151
5.66k
        num += __builtin_popcountll(
152
5.66k
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
153
5.66k
                        _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) |
154
5.66k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
155
5.66k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16)))
156
5.66k
                 << 16U) |
157
5.66k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
158
5.66k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16)))
159
5.66k
                 << 32U) |
160
5.66k
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8(
161
5.66k
                         _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16)))
162
5.66k
                 << 48U));
163
5.66k
    }
164
57.2k
#endif
165
1.28M
    for (; data < end; ++data) {
166
1.22M
        num += (*data == 0);
167
1.22M
    }
168
57.2k
    return num;
169
57.2k
}
170
171
template <typename T>
172
    requires requires { std::is_unsigned_v<T>; }
173
490
inline T count_zero_num(const int8_t* __restrict data, const uint8_t* __restrict null_map, T size) {
174
490
    T num = 0;
175
490
    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
490
    const __m128i one16 = _mm_set1_epi8(1);
198
490
    const int8_t* end64 = data + (size / 64 * 64);
199
200
494
    for (; data < end64; data += 64, null_map += 64) {
201
4
        num += __builtin_popcountll(
202
4
                static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
203
4
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data)),
204
4
                                       zero16),
205
4
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map)),
206
4
                                       one16)))) |
207
4
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
208
4
                         _mm_cmpeq_epi8(
209
4
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)),
210
4
                                 zero16),
211
4
                         _mm_cmpeq_epi8(
212
4
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 16)),
213
4
                                 one16))))
214
4
                 << 16U) |
215
4
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
216
4
                         _mm_cmpeq_epi8(
217
4
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)),
218
4
                                 zero16),
219
4
                         _mm_cmpeq_epi8(
220
4
                                 _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 32)),
221
4
                                 one16))))
222
4
                 << 32U) |
223
4
                (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128(
224
4
                        _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)),
225
4
                                       zero16),
226
4
                        _mm_cmpeq_epi8(
227
4
                                _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 48)),
228
4
                                one16)))))
229
4
                        << 48U);
230
4
    }
231
490
#endif
232
2.28k
    for (; data < end; ++data, ++null_map) {
233
1.79k
        num += ((*data == 0) | *null_map);
234
1.79k
    }
235
490
    return num;
236
490
}
237
238
// TODO: compare with different SIMD implements
239
template <class T>
240
570k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
570k
    if (start >= vec.size()) {
242
30.3k
        return start;
243
30.3k
    }
244
540k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
540k
    if (p == nullptr) {
246
75.5k
        return vec.size();
247
75.5k
    }
248
464k
    return (T*)p - vec.data();
249
540k
}
Unexecuted instantiation: unity_0_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: block.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: columns_common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
column.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
481k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
481k
    if (start >= vec.size()) {
242
23.3k
        return start;
243
23.3k
    }
244
457k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
457k
    if (p == nullptr) {
246
65.4k
        return vec.size();
247
65.4k
    }
248
392k
    return (T*)p - vec.data();
249
457k
}
column_decimal.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
231
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
231
    if (start >= vec.size()) {
242
0
        return start;
243
0
    }
244
231
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
231
    if (p == nullptr) {
246
231
        return vec.size();
247
231
    }
248
0
    return (T*)p - vec.data();
249
231
}
Unexecuted instantiation: column_array.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
49.8k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
49.8k
    if (start >= vec.size()) {
242
6.29k
        return start;
243
6.29k
    }
244
43.5k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
43.5k
    if (p == nullptr) {
246
8.14k
        return vec.size();
247
8.14k
    }
248
35.3k
    return (T*)p - vec.data();
249
43.5k
}
column_nullable.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
712
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
712
    if (start >= vec.size()) {
242
232
        return start;
243
232
    }
244
480
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
480
    if (p == nullptr) {
246
252
        return vec.size();
247
252
    }
248
228
    return (T*)p - vec.data();
249
480
}
column_string.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Line
Count
Source
240
38.7k
static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) {
241
38.7k
    if (start >= vec.size()) {
242
411
        return start;
243
411
    }
244
38.3k
    const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start);
245
38.3k
    if (p == nullptr) {
246
1.46k
        return vec.size();
247
1.46k
    }
248
36.8k
    return (T*)p - vec.data();
249
38.3k
}
Unexecuted instantiation: data_type_nullable_serde.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: data_type_map_serde.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: column_map.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: column_struct.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: column_variant.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: column_varbinary.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_30_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_29_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_28_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_27_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_26_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_25_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_24_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: parquet_scan.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: orc_search_argument.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: vertical_block_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: schema_change.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: column_writer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: segment_iterator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: segment_writer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: variant_stats_calculator.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: exec_env_init.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: fragment_mgr.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: query_context.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: result_block_buffer.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: record_batch_queue.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: runtime_state.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: workload_group.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: workload_group_manager.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: query_task_controller.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: group_commit_mgr.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: ann_index.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_
Unexecuted instantiation: ann_topn_runtime.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: block.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: columns_common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_decimal.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_array.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_nullable.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_string.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: data_type_nullable_serde.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: data_type_map_serde.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_map.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_struct.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_variant.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_varbinary.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_13_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_1_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_7_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_6_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_12_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_11_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_10_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_2_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_9_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_5_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_8_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_4_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_3_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: hashjoin_build_sink.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: join_build_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: partitioned_aggregation_sink_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: scan_operator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vfile_result_writer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_30_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_29_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_28_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_27_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_26_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_25_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_24_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_23_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: parquet_scan.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: orc_search_argument.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: vertical_block_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: schema_change.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: column_writer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: segment_iterator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: segment_writer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: variant_stats_calculator.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: descriptors.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: exec_env_init.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: fragment_mgr.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: query_context.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: result_block_buffer.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: record_batch_queue.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: runtime_state.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: workload_group.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: workload_group_manager.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: query_task_controller.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: point_query_executor.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: group_commit_mgr.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: ann_index.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
Unexecuted instantiation: ann_topn_runtime.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_
262
263
285k
inline size_t find_one(const std::vector<uint8_t>& vec, size_t start) {
264
285k
    return find_byte<uint8_t>(vec, start, 1);
265
285k
}
266
267
93
inline size_t find_one(const uint8_t* data, size_t start, size_t end) {
268
93
    return find_byte<uint8_t>(data, start, end, 1);
269
93
}
270
271
310k
inline size_t find_zero(const std::vector<uint8_t>& vec, size_t start) {
272
310k
    return find_byte<uint8_t>(vec, start, 0);
273
310k
}
274
275
1.86M
inline bool contain_one(const uint8_t* __restrict data, size_t size) {
276
1.86M
    size_t i = 0;
277
1.86M
#if defined(__AVX2__)
278
58.9M
    for (; i + 32 <= size; i += 32) {
279
57.2M
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
280
57.2M
        if (!_mm256_testz_si256(chunk, chunk)) {
281
155k
            return true;
282
155k
        }
283
57.2M
    }
284
#elif defined(__SSE2__)
285
    const __m128i zero = _mm_setzero_si128();
286
    for (; i + 16 <= size; i += 16) {
287
        __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i));
288
        if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0xFFFF) {
289
            return true;
290
        }
291
    }
292
#endif
293
13.1M
    for (; i < size; ++i) {
294
11.5M
        if (data[i]) {
295
188k
            return true;
296
188k
        }
297
11.5M
    }
298
1.52M
    return false;
299
1.71M
}
300
301
72.7k
inline bool contain_zero(const uint8_t* __restrict data, size_t size) {
302
72.7k
    size_t i = 0;
303
72.7k
#if defined(__AVX2__)
304
72.7k
    const __m256i zero = _mm256_setzero_si256();
305
711k
    for (; i + 32 <= size; i += 32) {
306
644k
        __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i));
307
644k
        if (_mm256_movemask_epi8(_mm256_cmpeq_epi8(chunk, zero)) != 0) {
308
4.93k
            return true;
309
4.93k
        }
310
644k
    }
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
207k
    for (; i < size; ++i) {
321
176k
        if (!data[i]) {
322
36.6k
            return true;
323
36.6k
        }
324
176k
    }
325
31.2k
    return false;
326
67.8k
}
327
328
} // namespace doris::simd