1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-02 09:39:36 +00:00

Avoid Intel compiler optimizes away prefetching

Without this hack Intel compiler happily optimizes
away the gcc builtin call.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-08-10 12:59:07 +02:00
parent 60b5da4cc8
commit f4140ecc0c

View file

@ -181,7 +181,10 @@ void TranspositionTable::prefetch(const Key posKey) const {
#if defined(_MSC_VER)
_mm_prefetch((char*)first_entry(posKey), _MM_HINT_T0);
#else
__builtin_prefetch((const void*)first_entry(posKey), 0, 3);
// We need to force an asm volatile here because gcc builtin
// is optimized away by Intel compiler.
char* addr = (char*)first_entry(posKey);
asm volatile("prefetcht0 %0" :: "m" (addr));
#endif
}