You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
use vect update for everything except TEXT
This commit is contained in:
@ -1278,7 +1278,7 @@ inline SIMD_WRAPPER_TYPE simdSwapedOrderDataLoad(const ColRequestHeaderDataType
|
|||||||
|
|
||||||
template <typename VT, typename SimdType>
|
template <typename VT, typename SimdType>
|
||||||
void vectorizedUpdateMinMax(const bool validMinMax, const MT nonNullOrEmptyMask, VT& simdProcessor,
|
void vectorizedUpdateMinMax(const bool validMinMax, const MT nonNullOrEmptyMask, VT& simdProcessor,
|
||||||
SimdType dataVec, SimdType simdMin, SimdType simdMax)
|
SimdType& dataVec, SimdType& simdMin, SimdType& simdMax)
|
||||||
{
|
{
|
||||||
if (validMinMax && nonNullOrEmptyMask)
|
if (validMinMax && nonNullOrEmptyMask)
|
||||||
{
|
{
|
||||||
@ -1503,7 +1503,7 @@ void vectorizedFiltering(NewColRequestHeader* in, ColResultHeader* out, const T*
|
|||||||
simdProcessor, valuesWritten, validMinMax, ridOffset, dataVecTPtr, ridDstArray, writeMask, min, max,
|
simdProcessor, valuesWritten, validMinMax, ridOffset, dataVecTPtr, ridDstArray, writeMask, min, max,
|
||||||
in, out, nonNullOrEmptyMask, ridArray);
|
in, out, nonNullOrEmptyMask, ridArray);
|
||||||
|
|
||||||
if constexpr (HAS_INPUT_RIDS && KIND != KIND_TEXT)
|
if constexpr (KIND != KIND_TEXT)
|
||||||
{
|
{
|
||||||
vectorizedUpdateMinMax(validMinMax, nonNullOrEmptyMask, simdProcessor, dataVec, simdMin, simdMax);
|
vectorizedUpdateMinMax(validMinMax, nonNullOrEmptyMask, simdProcessor, dataVec, simdMin, simdMax);
|
||||||
}
|
}
|
||||||
@ -1522,7 +1522,7 @@ void vectorizedFiltering(NewColRequestHeader* in, ColResultHeader* out, const T*
|
|||||||
srcArray += VECTOR_SIZE;
|
srcArray += VECTOR_SIZE;
|
||||||
ridArray += VECTOR_SIZE;
|
ridArray += VECTOR_SIZE;
|
||||||
}
|
}
|
||||||
if constexpr(HAS_INPUT_RIDS && KIND != KIND_TEXT)
|
if constexpr(KIND != KIND_TEXT)
|
||||||
{
|
{
|
||||||
extractMinMax(simdProcessor, simdMin, simdMax, min, max);
|
extractMinMax(simdProcessor, simdMin, simdMax, min, max);
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ public:
|
|||||||
simd::vi128_wr>>;
|
simd::vi128_wr>>;
|
||||||
using Proc = typename simd::SimdFilterProcessor<SimdType, T>;
|
using Proc = typename simd::SimdFilterProcessor<SimdType, T>;
|
||||||
#else
|
#else
|
||||||
using Proc = typename simd::SimdFilterProcessor<typename simd::TypeToVecWrapperType<T>::WrapperType, TypeParam>;
|
using Proc = typename simd::SimdFilterProcessor<typename simd::TypeToVecWrapperType<T>::WrapperType, T>;
|
||||||
#endif
|
#endif
|
||||||
void SetUp() override
|
void SetUp() override
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user