Function safe_arch::load_masked_i64_m128i
source · pub fn load_masked_i64_m128i(a: &m128i, mask: m128i) -> m128i
Available with target feature
avx2
only.Expand description
Loads the reference given and zeroes any i64
lanes not in the mask.
- A lane is “in” the mask if that lane’s mask value is set in the high bit (aka “if the lane’s value is negative”).
let a = set_splat_i64_m128i(5);
let b = load_masked_i64_m128i(&a, m128i::from([0_i64, -1]));
assert_eq!(<[i64; 2]>::from(b), [0_i64, 5]);
- Intrinsic:
_mm_maskload_epi64
- Assembly:
vpmaskmovq xmm, xmm, m128