From f8e65d82ebf5754427a63116532733b7b7002f29 Mon Sep 17 00:00:00 2001 From: mstembera Date: Mon, 3 Jul 2023 12:59:42 -0700 Subject: [PATCH] Simplify away lookup_count. https://tests.stockfishchess.org/tests/view/64a3c1a93ee09aa549c53167 LLR: 2.94 (-2.94,2.94) <-1.75,0.25> Total: 32832 W: 8497 L: 8280 D: 16055 Ptnml(0-2): 80, 3544, 8967, 3729, 96 closes https://github.com/official-stockfish/Stockfish/pull/4662 No functional change --- src/nnue/layers/affine_transform_sparse_input.h | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/nnue/layers/affine_transform_sparse_input.h b/src/nnue/layers/affine_transform_sparse_input.h index 18c166cd..3c7defcc 100644 --- a/src/nnue/layers/affine_transform_sparse_input.h +++ b/src/nnue/layers/affine_transform_sparse_input.h @@ -24,7 +24,6 @@ #include #include #include -#include #include #include "../nnue_common.h" #include "affine_transform.h" @@ -75,12 +74,6 @@ namespace Stockfish::Eval::NNUE::Layers { } return v; }(); - alignas(CacheLineSize) static inline const std::array lookup_count = [](){ - std::array v; - for (int i = 0; i < 256; ++i) - v[i] = unsigned(std::bitset<8>(i).count()); - return v; - }(); // Find indices of nonzero numbers in an int32_t array template @@ -120,7 +113,7 @@ namespace Stockfish::Eval::NNUE::Layers { const auto lookup = (nnz >> (j * 8)) & 0xFF; const auto offsets = _mm_loadu_si128(reinterpret_cast(&lookup_indices[lookup])); _mm_storeu_si128(reinterpret_cast<__m128i*>(out + count), _mm_add_epi16(base, offsets)); - count += lookup_count[lookup]; + count += popcount(lookup); base = _mm_add_epi16(base, increment); } } -- 2.39.2