witdth is 12
| 2673 | |
| 2674 | // witdth is 12 |
| 2675 | void CopyMatrixIn12 (size_t h, |
| 2676 | double * ps, size_t dists, |
| 2677 | double * pd, size_t distd) |
| 2678 | { |
| 2679 | for (size_t i = 0; i < h; i++, ps += dists, pd += distd) |
| 2680 | { |
| 2681 | __m256d val0 = _mm256_loadu_pd (ps); |
| 2682 | __m256d val1 = _mm256_loadu_pd (ps+4); |
| 2683 | __m256d val2 = _mm256_loadu_pd (ps+8); |
| 2684 | _mm256_store_pd (pd, val0); |
| 2685 | _mm256_store_pd (pd+4, val1); |
| 2686 | _mm256_store_pd (pd+8, val2); |
| 2687 | Prefetch<1> (ps+2*dists); |
| 2688 | Prefetch<1> (ps+2*dists+8); |
| 2689 | // Prefetch (ps+4*dists, _MM_HINT_T2); |
| 2690 | // Prefetch (ps+4*dists+8, _MM_HINT_T2); |
| 2691 | } |
| 2692 | } |
| 2693 | |
| 2694 | |
| 2695 | // copy matrix (width is multiple of 4) |
no outgoing calls
no test coverage detected