19 #ifndef HIGHWAY_HWY_CONTRIB_SORT_SHARED_INL_H_
20 #define HIGHWAY_HWY_CONTRIB_SORT_SHARED_INL_H_
31 #if HWY_COMPILER_MSVC || HWY_IS_DEBUG_BUILD
32 static constexpr
size_t kMaxCols = 8;
86 return sizeof(T) * BufNum<T>(vector_size /
sizeof(T));
95 #if defined(HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE) == \
96 defined(HWY_TARGET_TOGGLE)
97 #ifdef HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
98 #undef HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
100 #define HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
107 #undef VQSORT_ENABLED
108 #if (HWY_TARGET == HWY_SCALAR) || \
109 (HWY_COMPILER_MSVC && !HWY_IS_DEBUG_BUILD) || \
110 (HWY_ARCH_ARM_V7 && HWY_IS_DEBUG_BUILD)
111 #define VQSORT_ENABLED 0
113 #define VQSORT_ENABLED 1
120 #if HWY_TARGET == HWY_RVV
122 template <
typename T>
125 template <
typename T>
#define HWY_MAX(a, b)
Definition: base.h:126
#define HWY_MIN(a, b)
Definition: base.h:125
#define HWY_INLINE
Definition: base.h:62
typename detail::ScalableTagChecker< T, kPow2 >::type ScalableTag
Definition: ops/shared-inl.h:161
N
Definition: rvv-inl.h:1742
ScalableTag< T, -1 > SortTag
Definition: contrib/sort/shared-inl.h:123
Definition: aligned_allocator.h:27
#define HWY_NAMESPACE
Definition: set_macros-inl.h:82
Definition: contrib/sort/shared-inl.h:28
static constexpr HWY_INLINE size_t BufBytes(size_t vector_size)
Definition: contrib/sort/shared-inl.h:85
static constexpr size_t kMaxCols
Definition: contrib/sort/shared-inl.h:34
static constexpr HWY_INLINE size_t PartitionBufNum(size_t N)
Definition: contrib/sort/shared-inl.h:56
static constexpr HWY_INLINE size_t BufNum(size_t N)
Definition: contrib/sort/shared-inl.h:78
static constexpr HWY_INLINE size_t PivotBufNum(size_t sizeof_t, size_t N)
Definition: contrib/sort/shared-inl.h:72
static constexpr size_t kMaxRows
Definition: contrib/sort/shared-inl.h:43
static constexpr HWY_INLINE size_t BaseCaseNum(size_t N)
Definition: contrib/sort/shared-inl.h:45
static constexpr size_t kMaxRowsLog2
Definition: contrib/sort/shared-inl.h:42
static constexpr size_t kPartitionUnroll
Definition: contrib/sort/shared-inl.h:54
static constexpr HWY_INLINE size_t LanesPerChunk(size_t sizeof_t, size_t N)
Definition: contrib/sort/shared-inl.h:68