#[non_exhaustive]pub enum Backend {
Scalar,
Sse41,
Avx2,
Neon,
}Expand description
The alignment backend actually used, or one that could be requested.
#[non_exhaustive] — more tiers may be added without a breaking change.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Scalar
The portable scalar reference kernel. Always available; the correctness oracle.
Sse41
x86-64 SSE4.1 (16 lanes @ i8). Not yet implemented in M0.
Avx2
x86-64 AVX2 (32 lanes @ i8). Not yet implemented in M0.
Neon
aarch64 NEON (16 lanes @ i8). Not yet implemented in M0.
Implementations§
Source§impl Backend
impl Backend
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
The canonical lowercase name, matching what BackendChoice::parse accepts.
Sourcepub fn is_available(self) -> bool
pub fn is_available(self) -> bool
Whether this backend is implemented and usable on the current build/CPU. Gated on both the target architecture and runtime CPU-feature detection.
Availability is not the whole story for a given database: even an available SIMD backend
is only used when the database is SIMD-eligible (i8 width, small alphabet). That extra
gate lives in DatabaseBuilder::build.