int i, j,ii,jj,blocksize, dimop,dimii; dimop = dim * dim - dim; blocksize = 32; for (i = 0; i < dim- blocksize+1; i= i + blocksize){ for (j = 0; j < dim- blocksize+1; j= j+ blocksize){ for(ii=i; ii < (i+blocksize);ii++){ dimii = dim * ii; for(jj=j;jj<(j+blocksize);jj= jj + 4){ dst[dimop - (dim * jj) + ii] = src[dimii + jj]; dst[dimop - (dim * (jj+1)) + ii] = src[dimii + jj+1]; dst[dimop - (dim * (jj+2)) + ii] = src[dimii + jj+2]; dst[dimop - (dim * (jj+3)) + ii] = src[dimii + jj+3]; //dst[RIDX(dim-1-jj, ii, dim)] = src[RIDX(ii, jj, dim)]; } } } }