1
0
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:
Andrey Piskunov
2022-07-05 16:22:14 +03:00
parent 1681edaca0
commit c4df7925d1
2 changed files with 4 additions and 4 deletions

View File

@ -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);
} }

View File

@ -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
{ {