]> git.sesse.net Git - stockfish/commit
Correctly describe POPCNT compile
authorlucasart <lucas.braesch@gmail.com>
Sat, 1 Nov 2014 20:43:57 +0000 (20:43 +0000)
committerJoona Kiiski <joona.kiiski@gmail.com>
Sat, 1 Nov 2014 20:43:57 +0000 (20:43 +0000)
commitd9caede3249698440b7579e31d92aaa9984a128b
tree8dffd72d60d986201d596a8c04e380ed27814fd5
parent8a7876d48d4360d14d918c1ff444b5d6eb0382de
Correctly describe POPCNT compile

SSE4.2 has nothing to do with POPCNT. We must dispell this myth, because
Stockfish is a reference and many will copy this mistake if they see it in Stockfish:
* SSE is an SIMD instruction set, relative to vectorization (using special 128-bit registers).
* POPCNT/LZCNT work on normal registers (eg. AL, AX, EAX, RAX).

The confusion comes from the fact that, in the Intel product line, it just
so happens that SSE4.2 and POPCNT/LZCNT came out at the same time. But this
is not true for AMD. For example, all AMD Pheniom II have SSE3 but no
POPCNT/LZCNT, and that is why the modern compile uses  -msse3 -popcnt and not -msse4.2.

No functional change.

Resolves #86
src/misc.cpp