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

Function npyv_storen_f64

numpy/core/src/common/simd/avx2/memory.h:147–155  ·  view source on GitHub ↗

/ 64

Source from the content-addressed store, hash-verified

145{ npyv_storen_s32((npy_int32*)ptr, stride, _mm256_castps_si256(a)); }
146//// 64
147NPY_FINLINE void npyv_storen_f64(double *ptr, npy_intp stride, npyv_f64 a)
148{
149 __m128d a0 = _mm256_castpd256_pd128(a);
150 __m128d a1 = _mm256_extractf128_pd(a, 1);
151 _mm_storel_pd(ptr + stride * 0, a0);
152 _mm_storeh_pd(ptr + stride * 1, a0);
153 _mm_storel_pd(ptr + stride * 2, a1);
154 _mm_storeh_pd(ptr + stride * 3, a1);
155}
156NPY_FINLINE void npyv_storen_u64(npy_uint64 *ptr, npy_intp stride, npyv_u64 a)
157{ npyv_storen_f64((double*)ptr, stride, _mm256_castsi256_pd(a)); }
158NPY_FINLINE void npyv_storen_s64(npy_int64 *ptr, npy_intp stride, npyv_s64 a)

Callers 2

npyv_storen_u64Function · 0.70
npyv_storen_s64Function · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected