>>965
短いのでスレに貼っちゃいます

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <xmmintrin.h>

int ReadTest(LPVOID pMem, int size) {

int* p = (int*)pMem ;
int count = size/sizeof(int) ;

int sum = 0 ;
int prefetchBytes = 512 ;
int countA = count - prefetchBytes/sizeof(int) ;

for (int x=0; x<countA;) {
_mm_prefetch((const char*)(&p[x + prefetchBytes/sizeof(int)]), _MM_HINT_NTA) ;
for (int y=0; y<32/sizeof(int); y++) {
sum += p[x] ;
x++ ;
}
}
for (; x<count; x++) {
sum += p[x] ;
}

return sum ;
}