niedziela, 1 maja 2016

Stockfish 16050114 - nowa kompilacja silnika



Stockfish - silnik szachowy UCI

Poprzednie wersje Stockfish 

Autor kompilacji - Krgp

Informacje o wersji:

Timestamp: 1462104688 

Remove useless -mbmi flag in Makefile 

I could not find anything documented that is necessary that prepending -mbmi to -mbmi2 gives some benefit. 
Instead at 
https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html#x86-Built-in-Functions 

The following built-in functions are available when -mbmi is used. All of them generate the machine instruction that is part of the name. 
unsigned int __builtin_ia32_bextr_u32(unsigned int, unsigned int); 
unsigned long long __builtin_ia32_bextr_u64 (unsigned long long, unsigned long long); 

The following built-in functions are available when -mbmi2 is used. All of them generate the machine instruction that is part of the name. 
unsigned int _bzhi_u32 (unsigned int, unsigned int) 
unsigned int _pdep_u32 (unsigned int, unsigned int) 
unsigned int _pext_u32 (unsigned int, unsigned int) 
unsigned long long _bzhi_u64 (unsigned long long, unsigned long long) 
unsigned long long _pdep_u64 (unsigned long long, unsigned long long) 
unsigned long long _pext_u64 (unsigned long long, unsigned long long) 

and at 
https://gcc.gnu.org/ml/gcc/2014-02/msg00204.html 

( "... The real optimization comes from being able to use pext 
(parallel bit extract), which can implement several bextr expressions in 
parallel.") 

Apart from that we don't use all -msse -msse2 -msse3 -msse4.2 etc. but just -msse3 (or -msse4.2) only. 

As regards to the speedup within noise level - this pull request is actually reversal of mcostalba#198 wherein prepending -mbmi to -mbmi2 was claimed to be 0.3% faster and here (removing -mbmi) gives 0.4% speed gain. 

JCER=3233



Brak komentarzy:

Prześlij komentarz