use crate::tokens::SimdToken;
#[allow(deprecated)]
#[deprecated(
since = "0.9.9",
note = "Width traits are misleading (Has256BitSimd enables AVX, not AVX2). Use concrete tokens (X64V3Token) or tier traits (HasX64V2, HasX64V4) instead. Will be removed in v1.0."
)]
pub trait Has128BitSimd: SimdToken {}
#[allow(deprecated)]
#[deprecated(
since = "0.9.9",
note = "Has256BitSimd only enables AVX, NOT AVX2 or FMA — causes suboptimal codegen. Use X64V3Token or HasX64V2 instead. Will be removed in v1.0."
)]
pub trait Has256BitSimd: Has128BitSimd {}
#[allow(deprecated)]
#[deprecated(
since = "0.9.9",
note = "Width traits are misleading. Use X64V4Token or HasX64V4 instead. Will be removed in v1.0."
)]
pub trait Has512BitSimd: Has256BitSimd {}
pub trait HasX64V2: SimdToken {}
pub trait HasX64V4: HasX64V2 {}
pub trait HasNeon: SimdToken {}
pub trait HasNeonAes: HasNeon {}
pub trait HasNeonSha3: HasNeon {}
pub trait HasArm64V2: HasNeon + HasNeonAes {}
pub trait HasArm64V3: HasArm64V2 + HasNeonSha3 {}