"Inverse movemask" for a single byte with 0x00:0x01 formatted results, with SIMD but without BMI2.
__m128i v = _mm_set1_epi8(bitmap);
v = _mm_and_si128(v, _mm_set_epi32(0, 0, 0x80402010, 0x08040201));
v = _mm_min_epu8(v, _mm_set1_epi8(1));
_mm_storel_epi64((__m128i*)&array_x[0], v);