nissy-core

The "engine" of nissy, including the H48 optimal solver.
git clone https://git.tronto.net/nissy-core
Download | Log | Files | Refs | README | LICENSE

commit d9cbff9e9efbd6a84211ed001c3d0ea8b6fd3057
parent 950f3f27b1bbd883767ae282be25414e04f11465
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Wed,  6 Aug 2025 11:33:51 +0200

Remove AVX512 instruction

Diffstat:
Msrc/arch/avx2.h | 9++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/arch/avx2.h b/src/arch/avx2.h @@ -430,13 +430,12 @@ invcoord_epe(uint64_t i) STATIC_INLINE bool is_eo_even(cube_t cube) { - uint8_t count; + uint32_t mask; __m256i e; e = _mm256_and_si256(cube, EO_AVX2); - e = _mm256_srli_si256(e, EOSHIFT); + e = _mm256_slli_epi16(e, 7-EOSHIFT); + mask = _mm256_movemask_epi8(e); - count = _mm256_reduce_add_epi8(e); - - return count % 2 == 0; + return popcount_u32(mask) % 2; }