* Non-contiguous Store ***************************/ / 32
| 127 | ***************************/ |
| 128 | //// 32 |
| 129 | NPY_FINLINE void npyv_storen_s32(npy_int32 *ptr, npy_intp stride, npyv_s32 a) |
| 130 | { |
| 131 | __m128i a0 = _mm256_castsi256_si128(a); |
| 132 | __m128i a1 = _mm256_extracti128_si256(a, 1); |
| 133 | ptr[stride * 0] = _mm_cvtsi128_si32(a0); |
| 134 | ptr[stride * 1] = _mm_extract_epi32(a0, 1); |
| 135 | ptr[stride * 2] = _mm_extract_epi32(a0, 2); |
| 136 | ptr[stride * 3] = _mm_extract_epi32(a0, 3); |
| 137 | ptr[stride * 4] = _mm_cvtsi128_si32(a1); |
| 138 | ptr[stride * 5] = _mm_extract_epi32(a1, 1); |
| 139 | ptr[stride * 6] = _mm_extract_epi32(a1, 2); |
| 140 | ptr[stride * 7] = _mm_extract_epi32(a1, 3); |
| 141 | } |
| 142 | NPY_FINLINE void npyv_storen_u32(npy_uint32 *ptr, npy_intp stride, npyv_u32 a) |
| 143 | { npyv_storen_s32((npy_int32*)ptr, stride, a); } |
| 144 | NPY_FINLINE void npyv_storen_f32(float *ptr, npy_intp stride, npyv_f32 a) |
no outgoing calls
no test coverage detected