diff --git a/src/nnue/nnue_accumulator.cpp b/src/nnue/nnue_accumulator.cpp index 0a3d95ad4..d693cc031 100644 --- a/src/nnue/nnue_accumulator.cpp +++ b/src/nnue/nnue_accumulator.cpp @@ -25,13 +25,25 @@ #include "../bitboard.h" #include "../position.h" #include "../types.h" -#include "nnue_architecture.h" #include "network.h" +#include "nnue_architecture.h" #include "nnue_common.h" #include "nnue_feature_transformer.h" namespace Stockfish::Eval::NNUE { +#if defined(__GNUC__) && !defined(__clang__) + #define sf_assume(cond) \ + do \ + { \ + if (!(cond)) \ + __builtin_unreachable(); \ + } while (0) +#else + // do nothing for other compilers + #define sf_assume(cond) +#endif + namespace { template(&(computed.*accPtr).accumulation[Perspective][0]);