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:
parent
60b5da4cc8
commit
f4140ecc0c
1 changed files with 4 additions and 1 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue