niedziela, 11 grudnia 2016

Stockfish 16120309 - nowa kompilacja


Stockfish, silnik szachowy UCI

Lider listy rankingowej JCER = 3368

馃敩 Author: Andrey Neporada 
Wi臋cej:

Timestamp: 1480754227 

Help GCC to optimize msb() to single instruction 

GCC compiles builtin_clzll to “63 ^ BSR”. BSR is processor instruction "Bit Scan Reverse". 
So old msb() function is basically 63 - 63 ^ BSR. 
Unfortunately, GCC fails to simplify this expression. 

Old function compiles to 
bsrq %rdi, %rdi 
movl $63, %eax 
xorq $63, %rdi 
subl %edi, %eax 
ret 

New function compiles to 
bsrq %rdi, %rax 
ret 

BTW, Clang compiles both function to the same (optimal) code. 

No functional change.


Stockfish 16120309 - download


Brak komentarzy:

Prze艣lij komentarz