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
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
#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