#include #include #include void move(char *from, char *to, long stride, long count); int main(int argc, char *argv[]) { int pc=prctl(PR_GET_SPECULATION_CTRL,PR_SPEC_STORE_BYPASS,0,0,0); printf("3 means speculative store bypass enabled: %x\n",pc); long mem[10000]; long i=0; long stride; if (argc!=2) { fprintf(stderr,"Usage: %s \n", argv[0]); exit(1); } stride = atoi(argv[1]); for (i=0; i<10000; i++) mem[i]=1; for (i=0; i<1000000; i++) { move((char *)mem,(char *)mem+stride,stride,1000); } return 0; }