MiniOB
1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
src
common
math
simd_util.h
1
/* Copyright (c) 2021 OceanBase and/or its affiliates. All rights reserved.
2
miniob is licensed under Mulan PSL v2.
3
You can use this software according to the terms and conditions of the Mulan PSL v2.
4
You may obtain a copy of Mulan PSL v2 at:
5
http://license.coscl.org.cn/MulanPSL2
6
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
7
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
8
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
9
See the Mulan PSL v2 for more details. */
10
11
#pragma once
12
13
#if defined(USE_SIMD)
14
#include <immintrin.h>
15
16
static
constexpr
int
SIMD_WIDTH = 8;
// AVX2 (256bit)
17
19
int
mm256_extract_epi32_var_indx(
const
__m256i vec,
const
unsigned
int
i);
20
22
int
mm256_sum_epi32(
const
int
*values,
int
size);
23
float
mm256_sum_ps(
const
float
*values,
int
size);
24
26
template
<
typename
V>
27
void
selective_load(V *memory,
int
offset, V *vec, __m256i &inv);
28
#endif
制作者
1.9.5