pub unsafe fn permlane16_u32<const FI: bool, const BOUND_CONTROL: bool>(
old: u32,
src0: u32,
src1: u32,
src2: u32,
) -> u32🔬This is a nightly-only experimental API. (
stdarch_amdgpu #149988)Available on AMD GPU only.
Expand description
Performs arbitrary gather-style operation within a row (16 contiguous lanes) of the second input operand.
The third and fourth inputs must be uniform across the current wavefront. These are combined into a single 64-bit value representing lane selects used to swizzle within each row.
This intrinsic does not behave like a normal function call; it is a “convergent” operation and as such has non-standard control-flow effects which need special treatment by the language. Rust currently does not properly support convergent operations. This operation is hence provided on a best-effort basis. Using it may result in incorrect code under some circumstances.