Fearless SIMD v1.0 Released for Safe Rust SIMD
Original: Fearless SIMD v1.0
Why This Matters
Safe, ergonomic SIMD has been a long-standing pain point in systems programming; this release makes it practical for everyday Rust codebases.
The Linebender project released Fearless SIMD v1.0 on September 22, 2026, eight years after the original prototype. The library eliminates unsafe code from SIMD programming in Rust by using the kernel! macro, target feature v1.1 compiler support, and a safe transmute module to handle raw pointer operations.
Fearless SIMD v1.0 ships three core promises: performance, safety, and ergonomics — and makes a credible case for each.
On performance, the library exposes both 'precise' and 'fast' variants for operations like swizzles and floating-point max, where edge-case behavior differs across architectures. Algorithms can be written against the hardware's native vector size, or fixed-width vectors where needed. When portable abstractions aren't enough, developers can drop into platform intrinsics with no overhead — so there's no performance ceiling.
On safety, the library nearly eliminates ad-hoc unsafe blocks. The kernel! macro leverages target feature v1.1 to call most SIMD intrinsics without unsafe. Load/store operations, which require raw pointers, are handled by a safe transmute module inspired by bytemuck and zerocopy. Only these two self-contained building blocks need auditing; the rest of the codebase inherits their safety guarantees through Rust's type system.
On ergonomics, the companion crate fearless_simd_macros v0.1 introduces the #[simd] macro. Previous multiversioning approaches either leaked abstraction details (requiring #[inline(always)] annotations) or added per-call overhead. The new macro removes that choice entirely — apply it to any SIMD function and it works correctly without further thought. The team also contributed upstream improvements to both Rust and LLVM during development.