| 45 | } |
| 46 | |
| 47 | __m128i inline Read4(const unsigned char* chunk, int offset) { |
| 48 | __m128i ret = _mm_set_epi32( |
| 49 | ReadLE32(chunk + 0 + offset), |
| 50 | ReadLE32(chunk + 64 + offset), |
| 51 | ReadLE32(chunk + 128 + offset), |
| 52 | ReadLE32(chunk + 192 + offset) |
| 53 | ); |
| 54 | return _mm_shuffle_epi8(ret, _mm_set_epi32(0x0C0D0E0FUL, 0x08090A0BUL, 0x04050607UL, 0x00010203UL)); |
| 55 | } |
| 56 | |
| 57 | void inline Write4(unsigned char* out, int offset, __m128i v) { |
| 58 | v = _mm_shuffle_epi8(v, _mm_set_epi32(0x0C0D0E0FUL, 0x08090A0BUL, 0x04050607UL, 0x00010203UL)); |
no test coverage detected