From 313b074aad9ce50c7a60e350f1d626e786d93776 Mon Sep 17 00:00:00 2001 From: Counterply Date: Wed, 2 May 2018 19:09:01 -0400 Subject: [PATCH] Reintroduce depth 2 razoring bench 5765806 Bench: 5765806 https://github.com/official-stockfish/Stockfish/commit/94abc2a0cfa262e2e040886394c782af226bc1bd --- x86/SearchMacros.asm | 49 +++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/x86/SearchMacros.asm b/x86/SearchMacros.asm index 93fd7c45e..a8fafe16d 100644 --- a/x86/SearchMacros.asm +++ b/x86/SearchMacros.asm @@ -1,4 +1,5 @@ -RazorMargin = 590 +RazorMargin1 = 590 +RazorMargin2 = 604 macro search RootNode, PvNode ; in: @@ -293,30 +294,40 @@ Display 2, "Search(alpha=%i1, beta=%i2, depth=%i8) called%n" test ecx, ecx jz .moves_loop - ; Step 6. Razoring (skipped when in check) if PvNode = 0 - mov edx, dword[.depth] - mov ecx, dword[.alpha] - cmp edx, 1*ONE_PLY - jg .6skip - lea eax, [ecx - RazorMargin] + mov edx, dword[.depth] + cmp edx, 2*ONE_PLY + jg .6skip + if USE_MATEFINDER = 1 + lea eax, [rcx+2*VALUE_KNOWN_WIN-1] + cmp eax, 4*VALUE_KNOWN_WIN-1 + jae .6skip + end if + mov ecx, dword[.alpha] + cmp edx, ONE_PLY + jne @1f + lea eax, [ecx - RazorMargin1] cmp eax, dword[.evalu] - jl .6skip - if USE_MATEFINDER = 1 - lea eax, [rcx + 2*VALUE_KNOWN_WIN - 1] - cmp eax, 4*VALUE_KNOWN_WIN - 1 - jae .6skip - end if - ;mov ecx, dword[.alpha] already here + jl @1f lea edx, [rcx + 1] - xor r8d, r8d - call QSearch_NonPv_NoCheck - jmp .Return + xor r8d, r8d + call QSearch_NonPv_NoCheck + jmp .Return +@1: + lea eax, [ecx - RazorMargin2] + cmp eax, dword[.evalu] + jl .6skip + xor r8d, r8d + sub ecx, RazorMargin2 + lea edx, [rcx+1] + mov esi, ecx + call QSearch_NonPv_NoCheck + cmp eax, esi + jle .Return .6skip: end if - - + ; Step 7. Futility pruning: child node (skipped when in check) if (RootNode = 0 & USE_MATEFINDER = 0) | (PvNode = 0 & USE_MATEFINDER = 1) mov edx, dword[.depth]