/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad
+ Copyright (C) 2008-2013 Marco Costalba, Joona Kiiski, Tord Romstad
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#else
-# include <xmmintrin.h>
-
void prefetch(char* addr) {
-# if defined(__INTEL_COMPILER) || defined(__ICL)
+# if defined(__INTEL_COMPILER)
// This hack prevents prefetches to be optimized away by
// Intel compiler. Both MSVC and gcc seems not affected.
__asm__ ("");
# endif
- _mm_prefetch(addr, _MM_HINT_T2);
- _mm_prefetch(addr+64, _MM_HINT_T2); // 64 bytes ahead
+# if defined(__INTEL_COMPILER) || defined(_MSC_VER)
+ _mm_prefetch(addr, _MM_HINT_T0);
+ _mm_prefetch(addr+64, _MM_HINT_T0); // 64 bytes ahead
+# else
+ __builtin_prefetch(addr);
+ __builtin_prefetch(addr+64);
+# endif
}
#endif