|
1 | 1 | /*@targets |
2 | 2 | * $maxopt $keep_baseline |
3 | 3 | * avx512_skx avx2 |
4 | | - * asimd |
5 | 4 | */ |
6 | 5 | // policy $keep_baseline is used to avoid skip building avx512_skx |
7 | 6 | // when its part of baseline features (--cpu-baseline), since |
8 | 7 | // 'baseline' option isn't specified within targets. |
9 | 8 |
|
10 | | -#include "simd_qsort.hpp" |
| 9 | +#include "x86_simd_qsort.hpp" |
11 | 10 | #ifndef __CYGWIN__ |
12 | 11 |
|
13 | | -#define USE_HIGHWAY defined(__aarch64__) |
14 | | - |
15 | 12 | #if defined(NPY_HAVE_AVX512_SKX) |
16 | 13 | #include "x86-simd-sort/src/avx512-32bit-qsort.hpp" |
17 | 14 | #include "x86-simd-sort/src/avx512-64bit-qsort.hpp" |
18 | 15 | #include "x86-simd-sort/src/avx512-64bit-argsort.hpp" |
19 | 16 | #elif defined(NPY_HAVE_AVX2) |
20 | 17 | #include "x86-simd-sort/src/avx2-32bit-qsort.hpp" |
21 | 18 | #include "x86-simd-sort/src/avx2-64bit-qsort.hpp" |
22 | | -#elif USE_HIGHWAY |
23 | | - #define VQSORT_ONLY_STATIC 1 |
24 | | - #include "hwy/contrib/sort/vqsort-inl.h" |
25 | 19 | #endif |
26 | 20 |
|
27 | 21 | namespace np { namespace qsort_simd { |
@@ -123,31 +117,6 @@ template<> void NPY_CPU_DISPATCH_CURFX(QSort)(double *arr, npy_intp num) |
123 | 117 | avx2_qsort(arr, num, true); |
124 | 118 | #endif |
125 | 119 | } |
126 | | -#elif USE_HIGHWAY |
127 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(int32_t *arr, intptr_t size) |
128 | | -{ |
129 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
130 | | -} |
131 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(uint32_t *arr, intptr_t size) |
132 | | -{ |
133 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
134 | | -} |
135 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(int64_t *arr, intptr_t size) |
136 | | -{ |
137 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
138 | | -} |
139 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(uint64_t *arr, intptr_t size) |
140 | | -{ |
141 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
142 | | -} |
143 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(float *arr, intptr_t size) |
144 | | -{ |
145 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
146 | | -} |
147 | | -template<> void NPY_CPU_DISPATCH_CURFX(QSort)(double *arr, intptr_t size) |
148 | | -{ |
149 | | - hwy::HWY_NAMESPACE::VQSortStatic(arr, size, hwy::SortAscending()); |
150 | | -} |
151 | 120 | #endif // NPY_HAVE_AVX512_SKX || NPY_HAVE_AVX2 |
152 | 121 |
|
153 | 122 | }} // namespace np::simd |
|
0 commit comments