diff --git a/src/libcsc/csc_mf.cpp b/src/libcsc/csc_mf.cpp index e23e333..ec936e6 100644 --- a/src/libcsc/csc_mf.cpp +++ b/src/libcsc/csc_mf.cpp @@ -4,11 +4,13 @@ #include #include -#ifdef _NO_PREFETCH_ -#define PREFETCH_T0(addr) +#if defined(__amd64__) || defined(_M_AMD64) || defined(__i386__) || defined(_M_IX86) +# include +# define PREFETCH_T0(addr) _mm_prefetch(((char *)(addr)),_MM_HINT_T0) +#elif defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2))) +# define PREFETCH_T0(addr) __builtin_prefetch(addr) #else -#include -#define PREFETCH_T0(addr) _mm_prefetch(((char *)(addr)),_MM_HINT_T0) +# define PREFETCH_T0(addr) #endif