Function bitwise::word::parallel_bits_extract [] [src]

pub fn parallel_bits_extract<T: Word, U: Word>(x: T, mask: U) -> T

Parallel bits extract of mask from x.

Keywords:

Gather.

Intrinsics:

  • BMI 2.0: pext.

Examples

use bitwise::word::*;

let n  = 0b1011_1110_1001_0011u16;

let m0 = 0b0110_0011_1000_0101u16;
let s0 = 0b0000_0000_0011_0101u16;

let m1 = 0b1110_1011_1110_1111u16;
let s1 = 0b0001_0111_0100_0011u16;

assert_eq!(n.parallel_bits_extract(m0), s0);
assert_eq!(parallel_bits_extract(n, m1), s1);