Repository navigation
v0.5.0
This release has an MSRV of 1.88.
Added
- The
kernel!macro, which creates safe wrappers around SIMD-level-specific kernels so platform intrinsics fromcore::archorstd::archcan be used safely when a token proves the required target features. (#214 by @Shnatsel) - The
approximate_recipmethod on floating-point SIMD vector types. It uses fast hardware reciprocal estimates where available and exact division otherwise. (#204 by @tomcur) SimdMask::from_bitmask,SimdMask::to_bitmask,SimdMask::test, andSimdMask::set, mirroring thestd::simdmask API. (#226 by @Shnatsel)
Changed
- Breaking change: the crate's SIMD extension traits are now sealed, so external crates can no longer implement them for their own types. (#211 by @LaurenzV)
- Breaking change: mask types now have opaque storage and use the new
SimdMasktrait instead ofSimdBase. Masks no longer expose integer-vector APIs such asDeref, indexing,Bytes, publicSimdSplit/SimdCombine,slide,slide_within_blocks, byte conversions, or scalar bit-operator overloads. (#218 by @Shnatsel) - Generated SIMD loads, stores, reference casts, transmute-like conversions, helpers, const-generic functions, and intrinsic calls now use checked wrappers or
kernel!, removing mostunsafefrom generated code. (#232, #233, #234, #235, #236, #237, #238, #239, #244, #245 by @Shnatsel) - Documentation and examples have been expanded and cleaned up for SIMD level tokens, mask types, platform-specific intrinsics, custom transmute wrappers, README consistency, and docs.rs visibility for NEON and WebAssembly APIs. (#213, #221, #222, #230, #240, #243 by @Shnatsel, #224, #225 by @DJMcNab)
Removed
- Breaking change: the
core_archwrapper module and thesafe_wrappersfeature have been removed. Usekernel!withcore::archorstd::archintrinsics instead. (#216 by @Shnatsel)
Full Changelog: v0.4.1...v0.5.0