Skip to content

Commit d9caede

Browse files
lucasartzamar
authored andcommitted
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
1 parent 8a7876d commit d9caede

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/misc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ const string engine_info(bool to_uci) {
115115
}
116116

117117
ss << (Is64Bit ? " 64" : "")
118-
<< (HasPext ? " BMI2" : (HasPopCnt ? " SSE4.2" : ""))
118+
<< (HasPext ? " BMI2" : (HasPopCnt ? " POPCNT" : ""))
119119
<< (to_uci ? "\nid author ": " by ")
120120
<< "Tord Romstad, Marco Costalba and Joona Kiiski";
121121

0 commit comments

Comments
 (0)