Function core::arch::x86::_mm_fcmadd_round_sch
source · pub unsafe fn _mm_fcmadd_round_sch(
a: __m128h,
b: __m128h,
c: __m128h,
const ROUNDING: i32,
) -> __m128h
🔬This is a nightly-only experimental API. (
stdarch_x86_avx512_f16
#127213)Available on (x86 or x86-64) and target feature
avx512fp16
and x86 only.Expand description
Multiply the lower complex number in a by the complex conjugate of the lower complex number in b,
accumulate to the lower complex number in c, and store the result in the lower elements of dst,
and copy the upper 6 packed elements from a to the upper elements of dst. Each complex number is
composed of two adjacent half-precision (16-bit) floating-point elements, which defines the complex
number complex = vec.fp16[0] + i * vec.fp16[1]
, or the complex conjugate conjugate = vec.fp16[0] - i * vec.fp16[1]
.
Rounding is done according to the rounding parameter, which can be one of:
(_MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC) // round to nearest, and suppress exceptions
(_MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC) // round down, and suppress exceptions
(_MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC) // round up, and suppress exceptions
(_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC) // truncate, and suppress exceptions
_MM_FROUND_CUR_DIRECTION