Skip to main content

## permlane16_u32

# Function permlane16_u32

Source

    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.