From d9cbff9e9efbd6a84211ed001c3d0ea8b6fd3057 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Wed, 6 Aug 2025 11:33:51 +0200 Subject: Remove AVX512 instruction --- src/arch/avx2.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/arch') diff --git a/src/arch/avx2.h b/src/arch/avx2.h index cb9c0cd..74aad53 100644 --- 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; } -- cgit v1.3