| 212 | } |
| 213 | |
| 214 | inline void swap_int64_256(__m256i& input) { |
| 215 | constexpr uint8_t mask_data[] = {7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, |
| 216 | 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, |
| 217 | 1, 0, 15, 14, 13, 12, 11, 10, 9, 8}; |
| 218 | const __m256i swapped = |
| 219 | _mm256_shuffle_epi8(input, _mm256_loadu_si256((const __m256i*)mask_data)); |
| 220 | _mm256_storeu_si256(&input, swapped); |
| 221 | } |
| 222 | |
| 223 | inline void swap_int64_128(__m128i& input) { |
| 224 | constexpr uint8_t mask_data[] = {7, 6, 5, 4, 3, 2, 1, 0, |
no outgoing calls
no test coverage detected