Expand description
Module containing the generic SIMD vector register wrappers. Monomorphized SIMD vector register wrapper.
§Safety
Every operation here ultimately calls a #[target_feature]-gated
SimdKernel method, sound only on a host that
implements Arch. Two disciplines discharge that obligation:
- Safe methods call
assert_runtime_supported(orruntime_support_resultfor thetry_*forms) before theirunsafekernel call, so the check immediately above each block is its target-feature proof. Those blocks therefore carry a per-siteSAFETYcomment only when they add a further obligation — a raw-pointer bound, a lane-index range, or aMaybeUninitinitialization. - The
pub unsafe fnregister loads/stores (load_alignedand friends) push both the target-feature requirement and pointer validity to the caller; each states both in its# Safetysection.
Lane-count and lane-index preconditions (from_array, extract, cast, …)
are proven at compile time by the AssertLaneCount/AssertLaneIndex const
guards, so a mismatch fails the build rather than reading out of bounds.
Structs§
- Vector
- A monomorphized vector register type wrapping the architecture-native raw register.