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;
87 return sizeof(T) * BufNum<T>(vector_size /
sizeof(T));
96#if defined(HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE) == \
97 defined(HWY_TARGET_TOGGLE)
98#ifdef HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
99#undef HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
101#define HIGHWAY_HWY_CONTRIB_SORT_SHARED_TOGGLE
109#if (HWY_TARGET == HWY_SCALAR) || \
110 (HWY_COMPILER_MSVC && !HWY_IS_DEBUG_BUILD) || \
111 (HWY_ARCH_ARM_V7 && HWY_IS_DEBUG_BUILD)
112#define VQSORT_ENABLED 0
114#define VQSORT_ENABLED 1
121#if HWY_TARGET == HWY_RVV
#define HWY_MAX(a, b)
Definition: base.h:135
#define HWY_MIN(a, b)
Definition: base.h:134
#define HWY_INLINE
Definition: base.h:70
typename detail::ScalableTagChecker< T, kPow2 >::type ScalableTag
Definition: ops/shared-inl.h:173
N
Definition: rvv-inl.h:1998
ScalableTag< T, -1 > SortTag
Definition: contrib/sort/shared-inl.h:124
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:86
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:79
static constexpr HWY_INLINE size_t LanesPerChunk(size_t sizeof_t)
Definition: contrib/sort/shared-inl.h:69
static constexpr HWY_INLINE size_t PivotBufNum(size_t sizeof_t, size_t N)
Definition: contrib/sort/shared-inl.h:73
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