InterleavedBitReaderSSE2(const unsigned char *in, unsigned bits)
: in(reinterpret_cast<const __m128i *>(in)), bits(bits), mask(_mm_set1_epi32(mask_for_bits(bits))) {}
// Can read 16 bytes past the end of the input (if bit_width == 0).
InterleavedBitReaderSSE2(const unsigned char *in, unsigned bits)
: in(reinterpret_cast<const __m128i *>(in)), bits(bits), mask(_mm_set1_epi32(mask_for_bits(bits))) {}
// Can read 16 bytes past the end of the input (if bit_width == 0).