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 | 25.5M | inline uint32_t bytes32_mask_to_bits32_mask(const uint8_t* data) { |
70 | 25.5M | #ifdef __AVX2__ |
71 | 25.5M | auto zero32 = _mm256_setzero_si256(); |
72 | 25.5M | auto mask = static_cast<uint32_t>(_mm256_movemask_epi8( |
73 | 25.5M | _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 | 25.5M | return mask; |
90 | 25.5M | } |
91 | | |
92 | 25.5M | 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 | 25.5M | return bytes32_mask_to_bits32_mask(data); |
97 | 25.5M | #endif |
98 | 25.5M | } |
99 | | |
100 | 8.09M | inline constexpr auto bits_mask_all() { |
101 | | #if defined(__ARM_NEON) && defined(__aarch64__) |
102 | | return 0xffff'ffff'ffff'ffffULL; |
103 | | #else |
104 | 8.09M | return 0xffffffff; |
105 | 8.09M | #endif |
106 | 8.09M | } |
107 | | |
108 | | template <typename Func> |
109 | 3.07M | 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 | 50.9M | while (mask) { |
120 | 47.8M | const auto bit_pos = __builtin_ctzll(mask); |
121 | 47.8M | func(bit_pos); |
122 | 47.8M | mask = mask & (mask - 1); |
123 | 47.8M | } |
124 | 3.07M | #endif |
125 | 3.07M | } 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 | 73.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.63M | while (mask) { | 120 | 1.56M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 1.56M | func(bit_pos); | 122 | 1.56M | mask = mask & (mask - 1); | 123 | 1.56M | } | 124 | 73.2k | #endif | 125 | 73.2k | } |
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 | 98.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 | 885k | while (mask) { | 120 | 787k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 787k | func(bit_pos); | 122 | 787k | mask = mask & (mask - 1); | 123 | 787k | } | 124 | 98.3k | #endif | 125 | 98.3k | } |
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 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
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 | 107k | 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.88M | while (mask) { | 120 | 1.77M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 1.77M | func(bit_pos); | 122 | 1.77M | mask = mask & (mask - 1); | 123 | 1.77M | } | 124 | 107k | #endif | 125 | 107k | } |
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.10k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 24.0k | while (mask) { | 120 | 20.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 20.9k | func(bit_pos); | 122 | 20.9k | mask = mask & (mask - 1); | 123 | 20.9k | } | 124 | 3.10k | #endif | 125 | 3.10k | } |
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 | 578 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 12.7k | while (mask) { | 120 | 12.1k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.1k | func(bit_pos); | 122 | 12.1k | mask = mask & (mask - 1); | 123 | 12.1k | } | 124 | 578 | #endif | 125 | 578 | } |
Unexecuted instantiation: 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_16TimeStampNsValueEjNS2_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_16TimeStampNsValueEjNS2_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_16TimeStampNsValueEjNS2_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_16TimeStampNsValueEjNS2_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_16TimeStampNsValueEmNS2_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_16TimeStampNsValueEmNS2_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_16TimeStampNsValueEmNS2_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_16TimeStampNsValueEmNS2_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_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 | 11 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 166 | while (mask) { | 120 | 155 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 155 | func(bit_pos); | 122 | 155 | mask = mask & (mask - 1); | 123 | 155 | } | 124 | 11 | #endif | 125 | 11 | } |
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 | 5 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 59 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 59 | func(bit_pos); | 122 | 59 | mask = mask & (mask - 1); | 123 | 59 | } | 124 | 5 | #endif | 125 | 5 | } |
Unexecuted instantiation: 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 | 41.9k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 787k | while (mask) { | 120 | 745k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 745k | func(bit_pos); | 122 | 745k | mask = mask & (mask - 1); | 123 | 745k | } | 124 | 41.9k | #endif | 125 | 41.9k | } |
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 | 781 | 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.32k | while (mask) { | 120 | 2.54k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 2.54k | func(bit_pos); | 122 | 2.54k | mask = mask & (mask - 1); | 123 | 2.54k | } | 124 | 781 | #endif | 125 | 781 | } |
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 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: 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 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: 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 | 400 | 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.02k | while (mask) { | 120 | 7.62k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 7.62k | func(bit_pos); | 122 | 7.62k | mask = mask & (mask - 1); | 123 | 7.62k | } | 124 | 400 | #endif | 125 | 400 | } |
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 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 58 | while (mask) { | 120 | 56 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 56 | func(bit_pos); | 122 | 56 | mask = mask & (mask - 1); | 123 | 56 | } | 124 | 2 | #endif | 125 | 2 | } |
Unexecuted instantiation: 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 | 2.61k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 73.7k | while (mask) { | 120 | 71.1k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 71.1k | func(bit_pos); | 122 | 71.1k | mask = mask & (mask - 1); | 123 | 71.1k | } | 124 | 2.61k | #endif | 125 | 2.61k | } |
_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 | 601 | 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 | 14.2k | while (mask) { | 120 | 13.6k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 13.6k | func(bit_pos); | 122 | 13.6k | mask = mask & (mask - 1); | 123 | 13.6k | } | 124 | 601 | #endif | 125 | 601 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE29EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 3.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 | 24.1k | while (mask) { | 120 | 20.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 20.9k | func(bit_pos); | 122 | 20.9k | mask = mask & (mask - 1); | 123 | 20.9k | } | 124 | 3.23k | #endif | 125 | 3.23k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE20EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 62 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 62 | func(bit_pos); | 122 | 62 | mask = mask & (mask - 1); | 123 | 62 | } | 124 | 2 | #endif | 125 | 2 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE20EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 2 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 64 | while (mask) { | 120 | 62 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 62 | func(bit_pos); | 122 | 62 | mask = mask & (mask - 1); | 123 | 62 | } | 124 | 2 | #endif | 125 | 2 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 1.95k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 57.1k | while (mask) { | 120 | 55.2k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 55.2k | func(bit_pos); | 122 | 55.2k | mask = mask & (mask - 1); | 123 | 55.2k | } | 124 | 1.95k | #endif | 125 | 1.95k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_13ColumnDecimalILNS_13PrimitiveTypeE30EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 18.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 | 194k | while (mask) { | 120 | 176k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 176k | func(bit_pos); | 122 | 176k | mask = mask & (mask - 1); | 123 | 176k | } | 124 | 18.6k | #endif | 125 | 18.6k | } |
_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 | 8.62k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 137k | while (mask) { | 120 | 128k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 128k | func(bit_pos); | 122 | 128k | mask = mask & (mask - 1); | 123 | 128k | } | 124 | 8.62k | #endif | 125 | 8.62k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE2EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 432k | 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.82M | while (mask) { | 120 | 4.38M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.38M | func(bit_pos); | 122 | 4.38M | mask = mask & (mask - 1); | 123 | 4.38M | } | 124 | 432k | #endif | 125 | 432k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 5.78k | 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 | 165k | while (mask) { | 120 | 159k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 159k | func(bit_pos); | 122 | 159k | mask = mask & (mask - 1); | 123 | 159k | } | 124 | 5.78k | #endif | 125 | 5.78k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE3EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 26.1k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 330k | while (mask) { | 120 | 304k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 304k | func(bit_pos); | 122 | 304k | mask = mask & (mask - 1); | 123 | 304k | } | 124 | 26.1k | #endif | 125 | 26.1k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 9.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 | 201k | while (mask) { | 120 | 191k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 191k | func(bit_pos); | 122 | 191k | mask = mask & (mask - 1); | 123 | 191k | } | 124 | 9.23k | #endif | 125 | 9.23k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE4EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 1.79k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 29.8k | while (mask) { | 120 | 28.0k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 28.0k | func(bit_pos); | 122 | 28.0k | mask = mask & (mask - 1); | 123 | 28.0k | } | 124 | 1.79k | #endif | 125 | 1.79k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 442k | 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.7M | while (mask) { | 120 | 12.3M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 12.3M | func(bit_pos); | 122 | 12.3M | mask = mask & (mask - 1); | 123 | 12.3M | } | 124 | 442k | #endif | 125 | 442k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE5EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 38.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 | 680k | while (mask) { | 120 | 642k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 642k | func(bit_pos); | 122 | 642k | mask = mask & (mask - 1); | 123 | 642k | } | 124 | 38.0k | #endif | 125 | 38.0k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_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 | 421k | while (mask) { | 120 | 406k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 406k | func(bit_pos); | 122 | 406k | mask = mask & (mask - 1); | 123 | 406k | } | 124 | 14.7k | #endif | 125 | 14.7k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE6EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 78.9k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 604k | while (mask) { | 120 | 525k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 525k | func(bit_pos); | 122 | 525k | mask = mask & (mask - 1); | 123 | 525k | } | 124 | 78.9k | #endif | 125 | 78.9k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 2.95k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 85.8k | while (mask) { | 120 | 82.9k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 82.9k | func(bit_pos); | 122 | 82.9k | mask = mask & (mask - 1); | 123 | 82.9k | } | 124 | 2.95k | #endif | 125 | 2.95k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE7EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 7.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 | 44.3k | while (mask) { | 120 | 37.0k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 37.0k | func(bit_pos); | 122 | 37.0k | mask = mask & (mask - 1); | 123 | 37.0k | } | 124 | 7.23k | #endif | 125 | 7.23k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 3.40k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 98.1k | while (mask) { | 120 | 94.7k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 94.7k | func(bit_pos); | 122 | 94.7k | mask = mask & (mask - 1); | 123 | 94.7k | } | 124 | 3.40k | #endif | 125 | 3.40k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE8EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 2.61k | 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.00k | while (mask) { | 120 | 3.38k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.38k | func(bit_pos); | 122 | 3.38k | mask = mask & (mask - 1); | 123 | 3.38k | } | 124 | 2.61k | #endif | 125 | 2.61k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 5.39k | 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 | 145k | while (mask) { | 120 | 139k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 139k | func(bit_pos); | 122 | 139k | mask = mask & (mask - 1); | 123 | 139k | } | 124 | 5.39k | #endif | 125 | 5.39k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE9EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 21.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 | 74.6k | while (mask) { | 120 | 53.6k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 53.6k | func(bit_pos); | 122 | 53.6k | mask = mask & (mask - 1); | 123 | 53.6k | } | 124 | 21.0k | #endif | 125 | 21.0k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 152 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.75k | while (mask) { | 120 | 4.60k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.60k | func(bit_pos); | 122 | 4.60k | mask = mask & (mask - 1); | 123 | 4.60k | } | 124 | 152 | #endif | 125 | 152 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE36EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 152 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 4.60k | while (mask) { | 120 | 4.45k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 4.45k | func(bit_pos); | 122 | 4.45k | mask = mask & (mask - 1); | 123 | 4.45k | } | 124 | 152 | #endif | 125 | 152 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE37EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 22 | 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 | 674 | while (mask) { | 120 | 652 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 652 | func(bit_pos); | 122 | 652 | mask = mask & (mask - 1); | 123 | 652 | } | 124 | 22 | #endif | 125 | 22 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE11EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 500 | 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.01k | while (mask) { | 120 | 516 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 516 | func(bit_pos); | 122 | 516 | mask = mask & (mask - 1); | 123 | 516 | } | 124 | 500 | #endif | 125 | 500 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 4.56k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 124k | while (mask) { | 120 | 120k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 120k | func(bit_pos); | 122 | 120k | mask = mask & (mask - 1); | 123 | 120k | } | 124 | 4.56k | #endif | 125 | 4.56k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE25EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 307k | 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.05M | while (mask) { | 120 | 5.74M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.74M | func(bit_pos); | 122 | 5.74M | mask = mask & (mask - 1); | 123 | 5.74M | } | 124 | 307k | #endif | 125 | 307k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 124 | 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.31k | while (mask) { | 120 | 3.18k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.18k | func(bit_pos); | 122 | 3.18k | mask = mask & (mask - 1); | 123 | 3.18k | } | 124 | 124 | #endif | 125 | 124 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE12EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 235 | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 476 | while (mask) { | 120 | 241 | const auto bit_pos = __builtin_ctzll(mask); | 121 | 241 | func(bit_pos); | 122 | 241 | mask = mask & (mask - 1); | 123 | 241 | } | 124 | 235 | #endif | 125 | 235 | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 4.85k | 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 | 131k | while (mask) { | 120 | 126k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 126k | func(bit_pos); | 122 | 126k | mask = mask & (mask - 1); | 123 | 126k | } | 124 | 4.85k | #endif | 125 | 4.85k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE26EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Line | Count | Source | 109 | 71.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.82M | while (mask) { | 120 | 1.75M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 1.75M | func(bit_pos); | 122 | 1.75M | mask = mask & (mask - 1); | 123 | 1.75M | } | 124 | 71.8k | #endif | 125 | 71.8k | } |
_ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE43EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 332 | 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.96k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.96k | func(bit_pos); | 122 | 3.96k | mask = mask & (mask - 1); | 123 | 3.96k | } | 124 | 332 | #endif | 125 | 332 | } |
Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE43EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Unexecuted instantiation: _ZN5doris4simd25iterate_through_bits_maskIZNS_12ColumnVectorILNS_13PrimitiveTypeE27EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEEUlmE_EEvT_j _ZN5doris4simd25iterate_through_bits_maskIZNKS_12ColumnVectorILNS_13PrimitiveTypeE42EE6filterERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEElEUlmE_EEvT_j Line | Count | Source | 109 | 1.39k | void iterate_through_bits_mask(Func func, decltype(bytes_mask_to_bits_mask(nullptr)) mask) { | 110 | | #if defined(__ARM_NEON) && defined(__aarch64__) | 111 | | mask &= 0x8888'8888'8888'8888ULL; | 112 | | while (mask) { | 113 | | const auto index = __builtin_ctzll(mask) >> 2; | 114 | | func(index); | 115 | | mask &= mask - 1; | 116 | | } | 117 | | | 118 | | #else | 119 | 44.6k | while (mask) { | 120 | 43.2k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 43.2k | func(bit_pos); | 122 | 43.2k | mask = mask & (mask - 1); | 123 | 43.2k | } | 124 | 1.39k | #endif | 125 | 1.39k | } |
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 | 326 | 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.83k | while (mask) { | 120 | 5.50k | const auto bit_pos = __builtin_ctzll(mask); | 121 | 5.50k | func(bit_pos); | 122 | 5.50k | mask = mask & (mask - 1); | 123 | 5.50k | } | 124 | 326 | #endif | 125 | 326 | } |
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 | 1.00M | 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.5M | while (mask) { | 120 | 11.5M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 11.5M | func(bit_pos); | 122 | 11.5M | mask = mask & (mask - 1); | 123 | 11.5M | } | 124 | 1.00M | #endif | 125 | 1.00M | } |
segment_iterator.cpp:_ZN5doris4simd25iterate_through_bits_maskIZNS_10segment_v215SegmentIterator28_evaluate_common_expr_filterEPttRKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE3$_0EEvT_j Line | Count | Source | 109 | 224k | 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.86M | while (mask) { | 120 | 3.63M | const auto bit_pos = __builtin_ctzll(mask); | 121 | 3.63M | func(bit_pos); | 122 | 3.63M | mask = mask & (mask - 1); | 123 | 3.63M | } | 124 | 224k | #endif | 125 | 224k | } |
|
126 | | |
127 | | template <typename T> |
128 | | requires requires { std::is_unsigned_v<T>; } |
129 | 516k | inline T count_zero_num(const int8_t* __restrict data, T size) { |
130 | 516k | T num = 0; |
131 | 516k | 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 | 516k | const int8_t* end64 = data + (size / 64 * 64); |
149 | | |
150 | 3.33M | for (; data < end64; data += 64) { |
151 | 2.82M | num += __builtin_popcountll( |
152 | 2.82M | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
153 | 2.82M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | |
154 | 2.82M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
155 | 2.82M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) |
156 | 2.82M | << 16U) | |
157 | 2.82M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
158 | 2.82M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) |
159 | 2.82M | << 32U) | |
160 | 2.82M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( |
161 | 2.82M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) |
162 | 2.82M | << 48U)); |
163 | 2.82M | } |
164 | 516k | #endif |
165 | 7.87M | for (; data < end; ++data) { |
166 | 7.35M | num += (*data == 0); |
167 | 7.35M | } |
168 | 516k | return num; |
169 | 516k | } _ZN5doris4simd14count_zero_numImQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 498k | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 498k | T num = 0; | 131 | 498k | 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 | 498k | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 3.30M | for (; data < end64; data += 64) { | 151 | 2.80M | num += __builtin_popcountll( | 152 | 2.80M | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 2.80M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 2.80M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 2.80M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 2.80M | << 16U) | | 157 | 2.80M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 2.80M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 2.80M | << 32U) | | 160 | 2.80M | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 2.80M | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 2.80M | << 48U)); | 163 | 2.80M | } | 164 | 498k | #endif | 165 | 7.36M | for (; data < end; ++data) { | 166 | 6.86M | num += (*data == 0); | 167 | 6.86M | } | 168 | 498k | return num; | 169 | 498k | } |
_ZN5doris4simd14count_zero_numIlQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 26 | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 26 | T num = 0; | 131 | 26 | const int8_t* end = data + size; | 132 | | #if defined(__ARM_NEON) | 133 | | const int8_t* end64 = data + (size / 64 * 64); | 134 | | | 135 | | for (; data < end64; data += 64) { | 136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); | 137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); | 138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); | 139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); | 140 | | | 141 | | auto s0 = vaddq_u8(a0, a1); | 142 | | auto s1 = vaddq_u8(a2, a3); | 143 | | auto s = vaddq_u8(s0, s1); | 144 | | num += vaddvq_u8(s); | 145 | | } | 146 | | #elif defined(__SSE2__) && defined(__POPCNT__) | 147 | | const __m128i zero16 = _mm_setzero_si128(); | 148 | 26 | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 26 | for (; data < end64; data += 64) { | 151 | 0 | num += __builtin_popcountll( | 152 | 0 | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 0 | << 16U) | | 157 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 0 | << 32U) | | 160 | 0 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 0 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 0 | << 48U)); | 163 | 0 | } | 164 | 26 | #endif | 165 | 89 | for (; data < end; ++data) { | 166 | 63 | num += (*data == 0); | 167 | 63 | } | 168 | 26 | return num; | 169 | 26 | } |
_ZN5doris4simd14count_zero_numIiQrqXsr3stdE13is_unsigned_vIT_EEEES2_PKaS2_ Line | Count | Source | 129 | 17.5k | inline T count_zero_num(const int8_t* __restrict data, T size) { | 130 | 17.5k | T num = 0; | 131 | 17.5k | const int8_t* end = data + size; | 132 | | #if defined(__ARM_NEON) | 133 | | const int8_t* end64 = data + (size / 64 * 64); | 134 | | | 135 | | for (; data < end64; data += 64) { | 136 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); | 137 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); | 138 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); | 139 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); | 140 | | | 141 | | auto s0 = vaddq_u8(a0, a1); | 142 | | auto s1 = vaddq_u8(a2, a3); | 143 | | auto s = vaddq_u8(s0, s1); | 144 | | num += vaddvq_u8(s); | 145 | | } | 146 | | #elif defined(__SSE2__) && defined(__POPCNT__) | 147 | | const __m128i zero16 = _mm_setzero_si128(); | 148 | 17.5k | const int8_t* end64 = data + (size / 64 * 64); | 149 | | | 150 | 34.2k | for (; data < end64; data += 64) { | 151 | 16.6k | num += __builtin_popcountll( | 152 | 16.6k | static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 153 | 16.6k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), zero16))) | | 154 | 16.6k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 155 | 16.6k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), zero16))) | 156 | 16.6k | << 16U) | | 157 | 16.6k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 158 | 16.6k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), zero16))) | 159 | 16.6k | << 32U) | | 160 | 16.6k | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_cmpeq_epi8( | 161 | 16.6k | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), zero16))) | 162 | 16.6k | << 48U)); | 163 | 16.6k | } | 164 | 17.5k | #endif | 165 | 512k | for (; data < end; ++data) { | 166 | 495k | num += (*data == 0); | 167 | 495k | } | 168 | 17.5k | return num; | 169 | 17.5k | } |
|
170 | | |
171 | | template <typename T> |
172 | | requires requires { std::is_unsigned_v<T>; } |
173 | 1.08k | inline T count_zero_num(const int8_t* __restrict data, const uint8_t* __restrict null_map, T size) { |
174 | 1.08k | T num = 0; |
175 | 1.08k | const int8_t* end = data + size; |
176 | | #if defined(__ARM_NEON) |
177 | | const int8_t* end64 = data + (size / 64 * 64); |
178 | | |
179 | | for (; data < end64; data += 64, null_map += 64) { |
180 | | auto a0 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data)), 7); |
181 | | auto a1 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 16)), 7); |
182 | | auto a2 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 32)), 7); |
183 | | auto a3 = vshrq_n_u8(vceqzq_s8(vld1q_s8(data + 48)), 7); |
184 | | |
185 | | auto r0 = vorrq_u8(a0, vld1q_u8(null_map)); |
186 | | auto r1 = vorrq_u8(a1, vld1q_u8(null_map + 16)); |
187 | | auto r2 = vorrq_u8(a2, vld1q_u8(null_map + 32)); |
188 | | auto r3 = vorrq_u8(a3, vld1q_u8(null_map + 48)); |
189 | | |
190 | | auto s0 = vaddq_u8(r0, r1); |
191 | | auto s1 = vaddq_u8(r2, r3); |
192 | | auto s = vaddq_u8(s0, s1); |
193 | | num += vaddvq_u8(s); |
194 | | } |
195 | | #elif defined(__SSE2__) && defined(__POPCNT__) |
196 | | const __m128i zero16 = _mm_setzero_si128(); |
197 | 1.08k | const __m128i one16 = _mm_set1_epi8(1); |
198 | 1.08k | const int8_t* end64 = data + (size / 64 * 64); |
199 | | |
200 | 1.08k | for (; data < end64; data += 64, null_map += 64) { |
201 | 4 | num += __builtin_popcountll( |
202 | 4 | static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
203 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data)), |
204 | 4 | zero16), |
205 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map)), |
206 | 4 | one16)))) | |
207 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
208 | 4 | _mm_cmpeq_epi8( |
209 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 16)), |
210 | 4 | zero16), |
211 | 4 | _mm_cmpeq_epi8( |
212 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 16)), |
213 | 4 | one16)))) |
214 | 4 | << 16U) | |
215 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
216 | 4 | _mm_cmpeq_epi8( |
217 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 32)), |
218 | 4 | zero16), |
219 | 4 | _mm_cmpeq_epi8( |
220 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 32)), |
221 | 4 | one16)))) |
222 | 4 | << 32U) | |
223 | 4 | (static_cast<uint64_t>(_mm_movemask_epi8(_mm_or_si128( |
224 | 4 | _mm_cmpeq_epi8(_mm_loadu_si128(reinterpret_cast<const __m128i*>(data + 48)), |
225 | 4 | zero16), |
226 | 4 | _mm_cmpeq_epi8( |
227 | 4 | _mm_loadu_si128(reinterpret_cast<const __m128i*>(null_map + 48)), |
228 | 4 | one16))))) |
229 | 4 | << 48U); |
230 | 4 | } |
231 | 1.08k | #endif |
232 | 28.7k | for (; data < end; ++data, ++null_map) { |
233 | 27.6k | num += ((*data == 0) | *null_map); |
234 | 27.6k | } |
235 | 1.08k | return num; |
236 | 1.08k | } |
237 | | |
238 | | // TODO: compare with different SIMD implements |
239 | | template <class T> |
240 | 497k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { |
241 | 497k | if (start >= vec.size()) { |
242 | 19.4k | return start; |
243 | 19.4k | } |
244 | 477k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); |
245 | 477k | if (p == nullptr) { |
246 | 53.7k | return vec.size(); |
247 | 53.7k | } |
248 | 424k | return (T*)p - vec.data(); |
249 | 477k | } 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 | 356k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 356k | if (start >= vec.size()) { | 242 | 18.0k | return start; | 243 | 18.0k | } | 244 | 338k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 338k | if (p == nullptr) { | 246 | 51.5k | return vec.size(); | 247 | 51.5k | } | 248 | 286k | return (T*)p - vec.data(); | 249 | 338k | } |
column_decimal.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 147 | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 147 | if (start >= vec.size()) { | 242 | 0 | return start; | 243 | 0 | } | 244 | 147 | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 147 | if (p == nullptr) { | 246 | 145 | return vec.size(); | 247 | 145 | } | 248 | 2 | return (T*)p - vec.data(); | 249 | 147 | } |
Unexecuted instantiation: column_array.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ column_vector.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 127k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 127k | if (start >= vec.size()) { | 242 | 1.31k | return start; | 243 | 1.31k | } | 244 | 125k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 125k | if (p == nullptr) { | 246 | 1.93k | return vec.size(); | 247 | 1.93k | } | 248 | 124k | return (T*)p - vec.data(); | 249 | 125k | } |
column_nullable.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 155 | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 155 | if (start >= vec.size()) { | 242 | 45 | return start; | 243 | 45 | } | 244 | 110 | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 110 | if (p == nullptr) { | 246 | 67 | return vec.size(); | 247 | 67 | } | 248 | 43 | return (T*)p - vec.data(); | 249 | 110 | } |
column_string.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Line | Count | Source | 240 | 13.2k | static size_t find_byte(const std::vector<T>& vec, size_t start, T byte) { | 241 | 13.2k | if (start >= vec.size()) { | 242 | 10 | return start; | 243 | 10 | } | 244 | 13.2k | const void* p = std::memchr((const void*)(vec.data() + start), byte, vec.size() - start); | 245 | 13.2k | if (p == nullptr) { | 246 | 48 | return vec.size(); | 247 | 48 | } | 248 | 13.1k | return (T*)p - vec.data(); | 249 | 13.2k | } |
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_22_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmRKSt6vectorIT_SaIS3_EEmS3_ Unexecuted instantiation: 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_22_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_21_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_20_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_19_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_18_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_17_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_16_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_15_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: unity_14_cxx.cxx:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: ai_functions.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: function_date_or_datetime_computation.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: function_datetime_floor_ceil.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: uuid.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: vorc_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: vparquet_reader.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: parquet_common.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: paimon_predicate_converter.cpp:_ZN5doris4simdL9find_byteIhEEmPKT_mmS2_ Unexecuted instantiation: 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 | 253k | inline size_t find_one(const std::vector<uint8_t>& vec, size_t start) { |
264 | 253k | return find_byte<uint8_t>(vec, start, 1); |
265 | 253k | } |
266 | | |
267 | 95 | inline size_t find_one(const uint8_t* data, size_t start, size_t end) { |
268 | 95 | return find_byte<uint8_t>(data, start, end, 1); |
269 | 95 | } |
270 | | |
271 | 268k | inline size_t find_zero(const std::vector<uint8_t>& vec, size_t start) { |
272 | 268k | return find_byte<uint8_t>(vec, start, 0); |
273 | 268k | } |
274 | | |
275 | 1.18M | inline bool contain_one(const uint8_t* __restrict data, size_t size) { |
276 | 1.18M | size_t i = 0; |
277 | 1.18M | #if defined(__AVX2__) |
278 | 22.5M | for (; i + 32 <= size; i += 32) { |
279 | 21.4M | __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i)); |
280 | 21.4M | if (!_mm256_testz_si256(chunk, chunk)) { |
281 | 103k | return true; |
282 | 103k | } |
283 | 21.4M | } |
284 | | #elif defined(__SSE2__) |
285 | | const __m128i zero = _mm_setzero_si128(); |
286 | | for (; i + 16 <= size; i += 16) { |
287 | | __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i)); |
288 | | if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0xFFFF) { |
289 | | return true; |
290 | | } |
291 | | } |
292 | | #endif |
293 | 7.78M | for (; i < size; ++i) { |
294 | 6.83M | if (data[i]) { |
295 | 125k | return true; |
296 | 125k | } |
297 | 6.83M | } |
298 | 951k | return false; |
299 | 1.07M | } |
300 | | |
301 | 62.9k | inline bool contain_zero(const uint8_t* __restrict data, size_t size) { |
302 | 62.9k | size_t i = 0; |
303 | 62.9k | #if defined(__AVX2__) |
304 | 62.9k | const __m256i zero = _mm256_setzero_si256(); |
305 | 698k | for (; i + 32 <= size; i += 32) { |
306 | 639k | __m256i chunk = _mm256_loadu_si256(reinterpret_cast<const __m256i*>(data + i)); |
307 | 639k | if (_mm256_movemask_epi8(_mm256_cmpeq_epi8(chunk, zero)) != 0) { |
308 | 4.06k | return true; |
309 | 4.06k | } |
310 | 639k | } |
311 | | #elif defined(__SSE2__) |
312 | | const __m128i zero = _mm_setzero_si128(); |
313 | | for (; i + 16 <= size; i += 16) { |
314 | | __m128i chunk = _mm_loadu_si128(reinterpret_cast<const __m128i*>(data + i)); |
315 | | if (_mm_movemask_epi8(_mm_cmpeq_epi8(chunk, zero)) != 0) { |
316 | | return true; |
317 | | } |
318 | | } |
319 | | #endif |
320 | 189k | for (; i < size; ++i) { |
321 | 162k | if (!data[i]) { |
322 | 32.0k | return true; |
323 | 32.0k | } |
324 | 162k | } |
325 | 26.8k | return false; |
326 | 58.8k | } |
327 | | |
328 | | } // namespace doris::simd |