MCPcopy Create free account
hub / github.com/numpy/numpy / npyv_loadn2_f64

Function npyv_loadn2_f64

numpy/core/src/common/simd/avx512/memory.h:154–164  ·  view source on GitHub ↗

/ 128-bit load over 64-bit stride

Source from the content-addressed store, hash-verified

152
153//// 128-bit load over 64-bit stride
154NPY_FINLINE npyv_f64 npyv_loadn2_f64(const double *ptr, npy_intp stride)
155{
156 __m128d a = _mm_loadu_pd(ptr);
157 __m128d b = _mm_loadu_pd(ptr + stride);
158 __m128d c = _mm_loadu_pd(ptr + stride * 2);
159 __m128d d = _mm_loadu_pd(ptr + stride * 3);
160 return npyv512_combine_pd256(
161 _mm256_insertf128_pd(_mm256_castpd128_pd256(a), b, 1),
162 _mm256_insertf128_pd(_mm256_castpd128_pd256(c), d, 1)
163 );
164}
165NPY_FINLINE npyv_u64 npyv_loadn2_u64(const npy_uint64 *ptr, npy_intp stride)
166{ return npyv_reinterpret_u64_f64(npyv_loadn2_f64((const double*)ptr, stride)); }
167NPY_FINLINE npyv_s64 npyv_loadn2_s64(const npy_int64 *ptr, npy_intp stride)

Callers 1

npyv_loadn2_u64Function · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected