Vendor Intrinsics
Sometimes you can’t avoid using vendor intrinsics. In those cases, it’s easy to convert between vendor vector types and portable SIMD vector types:
#![feature(portable_simd)] fn main() {} use std::arch::x86_64::{_mm_stream_ps, __m128}; use std::simd::f32x4; unsafe fn non_temporal_store(addr: *mut f32, vector: f32x4) { let vendor: __m128 = vector.into(); // convert into the vendor type _mm_stream_ps(addr, vendor); }