MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / CopyMatrixIn12

Function CopyMatrixIn12

basiclinalg/avector.cpp:2675–2692  ·  view source on GitHub ↗

witdth is 12

Source from the content-addressed store, hash-verified

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)

Callers 1

KernelScalNx12TransFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected