Skip to content

Commit 8a373e4

Browse files
committed
Avoid use of _mm512_set_epi16
1 parent c306ac5 commit 8a373e4

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/avx512-16bit-qsort.hpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ struct zmm_vector<float16> {
175175
}
176176
static reg_t reverse(reg_t zmm)
177177
{
178-
const auto rev_index = _mm512_set_epi16(NETWORK_REVERSE_32LANES);
178+
constexpr static uint16_t arr[] = {NETWORK_REVERSE_32LANES};
179+
const auto rev_index = _mm512_loadu_si512(arr);
179180
return permutexvar(rev_index, zmm);
180181
}
181182
static reg_t sort_vec(reg_t x)
@@ -320,7 +321,8 @@ struct zmm_vector<int16_t> {
320321
}
321322
static reg_t reverse(reg_t zmm)
322323
{
323-
const auto rev_index = _mm512_set_epi16(NETWORK_REVERSE_32LANES);
324+
constexpr static uint16_t arr[] = {NETWORK_REVERSE_32LANES};
325+
const auto rev_index = _mm512_loadu_si512(arr);
324326
return permutexvar(rev_index, zmm);
325327
}
326328
static reg_t sort_vec(reg_t x)
@@ -462,7 +464,8 @@ struct zmm_vector<uint16_t> {
462464
}
463465
static reg_t reverse(reg_t zmm)
464466
{
465-
const auto rev_index = _mm512_set_epi16(NETWORK_REVERSE_32LANES);
467+
constexpr static uint16_t arr[] = {NETWORK_REVERSE_32LANES};
468+
const auto rev_index = _mm512_loadu_si512(arr);
466469
return permutexvar(rev_index, zmm);
467470
}
468471
static reg_t sort_vec(reg_t x)

src/avx512fp16-16bit-qsort.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ struct zmm_vector<_Float16> {
139139
}
140140
static reg_t reverse(reg_t zmm)
141141
{
142-
const auto rev_index = _mm512_set_epi16(NETWORK_REVERSE_32LANES);
142+
constexpr static uint16_t arr[] = {NETWORK_REVERSE_32LANES};
143+
const auto rev_index = _mm512_loadu_si512(arr);
143144
return permutexvar(rev_index, zmm);
144145
}
145146
static reg_t sort_vec(reg_t x)

src/xss-common-includes.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@
7979
#define NETWORK_REVERSE_16LANES \
8080
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
8181
#define NETWORK_REVERSE_32LANES \
82-
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, \
83-
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
82+
31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, \
83+
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
8484

8585
#if defined(XSS_USE_OPENMP) && defined(_OPENMP)
8686
#define XSS_COMPILE_OPENMP

0 commit comments

Comments
 (0)