+#if defined(_MSC_VER)
+ char* addr = (char*)first_entry(posKey);
+ _mm_prefetch(addr, _MM_HINT_T0);
+ _mm_prefetch(addr+64, _MM_HINT_T0);
+#else
+ // 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