@@ -10681,7 +10681,7 @@ pub fn _mm_cvtepi16_epi8(a: __m128i) -> __m128i {
1068110681pub fn _mm_mask_cvtepi16_epi8(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
1068210682    unsafe {
1068310683        let convert = _mm_cvtepi16_epi8(a).as_i8x16();
10684-         let k: __mmask16 = 0b11111111_11111111 &  k as __mmask16;
10684+         let k: __mmask16 = 0b11111111_00000000 |  k as __mmask16;
1068510685        transmute(simd_select_bitmask(k, convert, src.as_i8x16()))
1068610686    }
1068710687}
@@ -20559,6 +20559,12 @@ mod tests {
2055920559        let r = _mm_mask_cvtepi16_epi8(src, 0b11111111, a);
2056020560        let e = _mm_set_epi8(0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2);
2056120561        assert_eq_m128i(r, e);
20562+ 
20563+         let src = _mm_set_epi8(1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1);
20564+         let a = _mm_set1_epi16(3);
20565+         let r = _mm_mask_cvtepi16_epi8(src, 0b11011110, a);
20566+         let e = _mm_set_epi8(0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 3, 3, 3, 3, 1);
20567+         assert_eq_m128i(r, e);
2056220568    }
2056320569
2056420570    #[simd_test(enable = "avx512bw,avx512vl")]
0 commit comments