Function fused_mul_subadd_m128d
pub fn fused_mul_subadd_m128d(a: m128d, b: m128d, c: m128d) -> m128d
Available on crate feature
dep_safe_arch
only.Expand description
Lanewise fused (a * b) subadd c
(subtracts odd lanes and adds even lanes)
let a = m128d::from_array([2.0, 3.0]);
let b = m128d::from_array([4.0, 5.0]);
let c = m128d::from_array([1.0, 1.0]);
let d = fused_mul_subadd_m128d(a, b, c).to_array();
assert_eq!(d, [9.0, 14.0]);
- Intrinsic:
_mm_fmsubadd_pd
- Assembly: one of
vfmsubadd132pd xmm, xmm, xmm
vfmsubadd213pd xmm, xmm, xmm
vfmsubadd231pd xmm, xmm, xmm