From 9699f4f79ae9bb193c1f74adf53886a1a56f8a91 Mon Sep 17 00:00:00 2001 From: mstembera Date: Thu, 8 Feb 2024 13:54:40 -0800 Subject: [PATCH] Fix the alignment of the transformer buffer Fixes the issue mentioned in https://github.com/official-stockfish/Stockfish/commit/584d9efedcde330eeb96a99215552ddfb06f52ba#r138417600. Thanks to @cj5716 and @peregrineshahin for spotting this! closes https://github.com/official-stockfish/Stockfish/pull/5042 No functional change --- src/nnue/evaluate_nnue.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/nnue/evaluate_nnue.cpp b/src/nnue/evaluate_nnue.cpp index d4a4dbe4..5bd7e83d 100644 --- a/src/nnue/evaluate_nnue.cpp +++ b/src/nnue/evaluate_nnue.cpp @@ -197,11 +197,10 @@ Value evaluate(const Position& pos, bool adjusted, int* complexity) { constexpr int delta = 24; #if defined(ALIGNAS_ON_STACK_VARIABLES_BROKEN) - TransformedFeatureType - transformedFeaturesUnaligned[FeatureTransformer < Small ? TransformedFeatureDimensionsSmall - : TransformedFeatureDimensionsBig, - nullptr - > ::BufferSize + alignment / sizeof(TransformedFeatureType)]; + TransformedFeatureType transformedFeaturesUnaligned + [FeatureTransformer < Net_Size == Small ? TransformedFeatureDimensionsSmall + : TransformedFeatureDimensionsBig, + nullptr > ::BufferSize + alignment / sizeof(TransformedFeatureType)]; auto* transformedFeatures = align_ptr_up(&transformedFeaturesUnaligned[0]); #else