std::intrinsics::simd

Function simd_relaxed_fma

Source
pub unsafe extern "rust-intrinsic" fn simd_relaxed_fma<T>(
    x: T,
    y: T,
    z: T,
) -> T
🔬This is a nightly-only experimental API. (core_intrinsics)
Expand description

Computes (x*y) + z for each element, non-deterministically executing either a fused multiply-add or two operations with rounding of the intermediate result.

The operation is fused if the code generator determines that target instruction set has support for a fused operation, and that the fused operation is more efficient than the equivalent, separate pair of mul and add instructions. It is unspecified whether or not a fused operation is selected, and that may depend on optimization level and context, for example.

T must be a vector of floats.