Crate safe_unaligned_simd

Crate safe_unaligned_simd 

Source
Expand description

Safe wrappers for unaligned SIMD load and store operations.

§Overview

The goal of this crate is to remove the need for “unnecessary unsafe” code when using vector intrinsics to access memory, with no alignment requirements.

Platform-intrinsics that take raw pointers have been wrapped in functions that receive Rust reference types as arguments.

§Supported target architectures

§x86 / x86_64

  • sse, sse2, avx, avx512f, avx512vl, avx512bw, avx512vbmi2

Some functions have variants that are generic over Cell array types, which allow for mutation of shared references.

Currently, there is no plan to implement gather/scatter or avx2 masked load/store intrinsics for this platform.

§aarch64, arm64ec

  • neon

Intrinsics that load / store individual lanes are not designed yet.

§wasm32

  • simd128

Modules§

x86_64
Platform-specific intrinsics for x86_64.