первый элемент из __m128d? Например
let valf64: f64 = _mm_round_pd(_mm_set_pd1(x), _MM_FROUND_RINT);
Но _mm_round_pd возврящает __m128d
_mm_round_pd(…).0 не работает так как элементы приватные
_mm_extract_pd - отсутствует =)
В общем, сделал пока так. Но это очень тупо #[repr(C)] #[repr(align(16))] struct F64x2(f64, f64); // workaround since stdsimd lacks _mm_extract_pd support let mut out = F64x2(0_f64, 0_f64); unsafe { _mm_store_pd( &mut out.0, _mm_round_pd(_mm_set_pd1(x), _MM_FROUND_RINT) ) };
Обсуждают сегодня