#include #include void stores(void *start, unsigned long size, unsigned long stride, unsigned long offset) { __m256i z = _mm256_set1_epi32(1); void *addr; void *end = start+size-32; unsigned long r=0, i; unsigned long incr = (size-32)/stride+1; for (i=0; i<1000000000; i+=incr) { addr=start; do { _mm256_storeu_si256((__m256i *)addr,z); addr+=stride; r++; } while (addr<=end); } /*printf("%ld stores, incr=%ld\n",r,incr);*/ return; }