_mm_reduce_round_ss in core::arch::x86 - Rust
Description: Extract the reduced argument of the lower single-precision (32-bit) floating-point element in b by the number of bits specified by imm8, store the result in the lower element of dst, and copy the upper element from a. to the upper element of dst. Rounding is done according to the imm8 parameter, which can be one of:

core::arch::x86

# Function _mm_reduce_round_ss

Source

    pub unsafe fn _mm_reduce_round_ss(
        a: __m128,
        b: __m128,
        const IMM8: i32,
        const SAE: i32,
    ) -> __m128

🔬This is a nightly-only experimental API. (`stdarch_x86_avx512` #111137)
Available on (x86 or x86-64) and target feature `avx512dq` and x86 only.
Expand description

Extract the reduced argument of the lower single-precision (32-bit) floating-point element in b by the number of bits specified by imm8, store the result in the lower element of dst, and copy the upper element from a. to the upper element of dst. Rounding is done according to the imm8 parameter, which can be one of:

- `_MM_FROUND_TO_NEAREST_INT` : round to nearest
- `_MM_FROUND_TO_NEG_INF` : round down
- `_MM_FROUND_TO_POS_INF` : round up
- `_MM_FROUND_TO_ZERO` : truncate
- `_MM_FROUND_CUR_DIRECTION` : use `MXCSR.RC` - see `_MM_SET_ROUNDING_MODE`

Exceptions can be suppressed by passing _MM_FROUND_NO_EXC in the sae parameter.

Intel’s Documentation