Revert "less branchless mor... not good I think"

This reverts commit 8e8d4257bc8c62064eee677788a81c6b42d9a796.
This commit is contained in:
Richard Thier 2024-04-11 19:58:08 +02:00
parent 8e8d4257bc
commit 9894f6c6d4

View File

@ -150,7 +150,7 @@ static inline uint32_t morgrab(uint32_t elem) noexcept {
} }
template<int j> template<int j>
static inline void mormord_sort_impl(uint32_t *a, int n) noexcept { static inline void mormord_sort_impl(uint32_t *a, int n) noexcept {
// Early-exit the edge-case /* Edge-case */
if(n == 0) return; if(n == 0) return;
/* Preparation */ /* Preparation */
@ -187,16 +187,13 @@ static inline void mormord_sort_impl(uint32_t *a, int n) noexcept {
uint32_t reali = 0; uint32_t reali = 0;
#pragma GCC unroll 16 #pragma GCC unroll 16
for(int i = 0; i < 256; ++i) { for(int i = 0; i < 256; ++i) {
radics[i] += prev;
if(radics[i] != 0) { if(radics[i] != 0) {
radics[i] += prev;
real_radics[reali] = prev; real_radics[reali] = prev;
real_radics[reali + 1] = radics[i]; real_radics[reali + 1] = radics[i];
prev = radics[i];
reali += 2; reali += 2;
} else {
radics[i] += prev;
prev = radics[i];
} }
prev = radics[i];
} }