removed non-temporal writes as too random patterns for it
This commit is contained in:
parent
a16917830f
commit
036725611b
@ -14,10 +14,6 @@
|
||||
#define TPBX3 9 // bottom
|
||||
#endif /* CUSTOM_TPBX_BITS */
|
||||
|
||||
#ifdef TPXB_USE_NON_TEMPORAL_WRITES
|
||||
#include <emmintrin.h> /* Required for the intrinsic */
|
||||
#endif /* TPXB_USE_NON_TEMPORAL_WRITES */
|
||||
|
||||
static inline constexpr uint32_t min3u32_xb(uint32_t a, uint32_t b, uint32_t c) noexcept {
|
||||
return (a <= b) ?
|
||||
((a <= c) ? a : c) :
|
||||
@ -105,11 +101,7 @@ static inline void threepass_xb(uint32_t *a, uint32_t *buf, int n) noexcept {
|
||||
auto offset = --bucket3[bkeyni];
|
||||
|
||||
// Add to the proper target location
|
||||
#ifndef TPXB_USE_NON_TEMPORAL_WRITES
|
||||
buf[offset] = num;
|
||||
#else
|
||||
_mm_stream_si32((int*)(&buf[offset]), num);
|
||||
#endif /* TPXB_USE_NON_TEMPORAL_WRITES */
|
||||
}
|
||||
// Mid digit buf->a
|
||||
// right-to-left to ensure already sorted digits order we keep for iterations
|
||||
@ -123,11 +115,7 @@ static inline void threepass_xb(uint32_t *a, uint32_t *buf, int n) noexcept {
|
||||
auto offset = --bucket2[bkeyni];
|
||||
|
||||
// Add to the proper target location
|
||||
#ifndef TPXB_USE_NON_TEMPORAL_WRITES
|
||||
a[offset] = num;
|
||||
#else
|
||||
_mm_stream_si32((int*)(&a[offset]), num);
|
||||
#endif /* TPXB_USE_NON_TEMPORAL_WRITES */
|
||||
}
|
||||
// Top digit a->buf
|
||||
// right-to-left to ensure already sorted digits order we keep for iterations
|
||||
@ -141,11 +129,7 @@ static inline void threepass_xb(uint32_t *a, uint32_t *buf, int n) noexcept {
|
||||
auto offset = --bucket1[bkeyni];
|
||||
|
||||
// Add to the proper target location
|
||||
#ifndef TPXB_USE_NON_TEMPORAL_WRITES
|
||||
buf[offset] = num;
|
||||
#else
|
||||
_mm_stream_si32((int*)(&buf[offset]), num);
|
||||
#endif /* TPXB_USE_NON_TEMPORAL_WRITES */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user