]> git.sesse.net Git - stockfish/commitdiff
Simplify away lookup_count.
authormstembera <MissingEmail@email>
Mon, 3 Jul 2023 19:59:42 +0000 (12:59 -0700)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Thu, 6 Jul 2023 21:02:11 +0000 (23:02 +0200)
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

index 18c166cd9d7897e8c221a8eafb61ce68c1c52ad4..3c7defcc42cbc25425d30e98708d13eaa54a8ac2 100644 (file)
@@ -24,7 +24,6 @@
 #include <iostream>
 #include <algorithm>
 #include <array>
-#include <bitset>
 #include <type_traits>
 #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<unsigned, 256> lookup_count = [](){
-    std::array<unsigned, 256> 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<const IndexType InputDimensions>
@@ -120,7 +113,7 @@ namespace Stockfish::Eval::NNUE::Layers {
         const auto lookup = (nnz >> (j * 8)) & 0xFF;
         const auto offsets = _mm_loadu_si128(reinterpret_cast<const __m128i*>(&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);
       }
     }