/ 64
| 145 | { npyv_storen_s32((npy_int32*)ptr, stride, _mm256_castps_si256(a)); } |
| 146 | //// 64 |
| 147 | NPY_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 | } |
| 156 | NPY_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)); } |
| 158 | NPY_FINLINE void npyv_storen_s64(npy_int64 *ptr, npy_intp stride, npyv_s64 a) |
no outgoing calls
no test coverage detected