Modify source to follow new Makefile
authorJoona Kiiski <joona.kiiski@gmail.com>
Wed, 19 May 2010 19:44:26 +0000 (22:44 +0300)
committerMarco Costalba <mcostalba@gmail.com>
Thu, 20 May 2010 20:22:51 +0000 (21:22 +0100)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/Makefile
src/tt.cpp
src/types.h

index b383f93afc9e7c5f42f8a10b48019bb5571a790d..d3f3a94f328a90704b07534b1b3de3b577de14bb 100644 (file)
@@ -52,7 +52,7 @@ OBJS = application.o bitboard.o pawns.o material.o endgame.o evaluate.o main.o \
 # os = (name)         ---             --- Target operating system
 # bits = 64/32        --- -DIS_64BIT  --- 64-/32-bit operating system
 # bigendian = no/yes  --- -DBIGENDIAN --- big/little-endian byte order
-# prefetch = no/yes   --- -DPREFETCH  --- Use prefetch x86 asm-instruction
+# prefetch = no/yes   --- -DUSE_PREFETCH  --- Use prefetch x86 asm-instruction
 # bsfq = no/yes       --- -DUSE_BSFQ  --- Use bsfq x86_64 asm-instruction
 #                                     --- (Works only with GCC and ICC 64-bit)
 # popcnt = no/yes     --- -DUSE_POPCNT --- Use popcnt x86_64 asm-instruction
index c10f2e447f724ff3ccff4a6aabfc3e79b0738e9b..12e6b636d0b98be117782d5c20bf6486dfba5cab 100644 (file)
@@ -25,7 +25,7 @@
 #include <cassert>
 #include <cmath>
 #include <cstring>
-#if !(defined(__hpux) || defined(__ppc__) || defined(__ppc64__) || defined(__arm__))
+#if defined(USE_PREFETCH)
 #  include <xmmintrin.h>
 #endif
 
@@ -166,8 +166,8 @@ TTEntry* TranspositionTable::retrieve(const Key posKey) const {
 /// to be loaded from RAM, that can be very slow. When we will
 /// subsequently call retrieve() the TT data will be already
 /// quickly accessible in L1/L2 CPU cache.
-#if defined(__hpux) || defined(__ppc__) || defined(__ppc64__) || defined(__arm__)
-void TranspositionTable::prefetch(const Key) const {} // Not supported on HP UX
+#if !defined(USE_PREFETCH)
+void TranspositionTable::prefetch(const Key) const {}
 #else
 
 void TranspositionTable::prefetch(const Key posKey) const {
index 715874c7d86e88ed56b0cc0bf329c2f123e5ec5c..1f1eb0671160b17b4739ac047f8648050548d54e 100644 (file)
@@ -49,22 +49,29 @@ typedef uint64_t Bitboard;
 
 
 ////
-//// Compiler specific defines
+//// Configuration
 ////
 
-// Quiet a warning on Intel compiler
-#if !defined(__SIZEOF_INT__ )
-#define __SIZEOF_INT__ 0
-#endif
-
-// Check for 64 bits for different compilers: Intel, MSVC and gcc
-#if defined(__x86_64) || defined(_M_X64) || defined(_WIN64) || (__SIZEOF_INT__ > 4)
-#define IS_64BIT
-#endif
+//// For Linux configuration is done using Makefile. To get started type "make help".
+////
+//// For windows you need to set the right compiler switches manually:
+////
+//// -DNDEBUG       | Disable debugging mode. Use always.
+////
+//// -DIS_64BIT     | Compile in 64-bit mode. Use on 64-bit systems.
+////
+//// -DBIGENDIAN    | Should not be used on Windows
+////
+//// -DUSE_PREFETCH | Use prefetch asm-instruction. Gives a small speed up,
+////                | but executable won't work on some very old machines.
+////
+//// -DUSE_BSFQ     | Use bsfq asm-instruction. Works only in 64-bit mode.
+////                | Works with ICC and GCC, not with MSVC. Gives a small speed up.
+////
+//// -DUSE_POPCNT   | Add runtime support for use of popcnt asm-instruction.
+////                | Works only in 64-bit mode. For compiling requires hardware
+////                | with popcnt support. Around 4% speed-up.
 
-#if defined(IS_64BIT) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
-#define USE_BSFQ
-#endif
 
 // Cache line alignment specification
 #if defined(_MSC_VER) || defined(__INTEL_COMPILER)