pub trait Machine: Copy {
type u32x4: u32x4<Self>;
type u64x2: u64x2<Self>;
type u128x1: u128x1<Self>;
type u32x4x2: u32x4x2<Self>;
type u64x2x2: u64x2x2<Self>;
type u64x4: u64x4<Self>;
type u128x2: u128x2<Self>;
type u32x4x4: u32x4x4<Self>;
type u64x2x4: u64x2x4<Self>;
type u128x4: u128x4<Self>;
unsafe fn instance() -> Self;
fn unpack<S, V>(self, s: S) -> V
where
V: Store<S>,
{ ... }
fn vec<V, A>(self, a: A) -> V
where
V: MultiLane<A>,
{ ... }
fn read_le<V>(self, input: &[u8]) -> V
where
V: StoreBytes,
{ ... }
fn read_be<V>(self, input: &[u8]) -> V
where
V: StoreBytes,
{ ... }
}
sourceimpl<S3, S4, NI> Machine for SseMachine<S3, S4, NI> where
S3: Copy,
S4: Copy,
NI: Copy,
u128x1_sse2<S3, S4, NI>: Swap64,
u64x2_sse2<S3, S4, NI>: BSwap,
u64x2_sse2<S3, S4, NI>: RotateEachWord32,
u64x2_sse2<S3, S4, NI>: MultiLane<[u64; 2]>,
u64x2_sse2<S3, S4, NI>: Vec2<u64>,
u32x4_sse2<S3, S4, NI>: BSwap,
u32x4_sse2<S3, S4, NI>: RotateEachWord32,
u32x4_sse2<S3, S4, NI>: MultiLane<[u32; 4]>,
u32x4_sse2<S3, S4, NI>: Vec4<u32>,
x2<u64x2_sse2<S3, S4, NI>, G1>: BSwap,
x2<u64x2_sse2<S3, S4, NI>, G1>: Words4,
u128x1_sse2<S3, S4, NI>: BSwap,
x2<u128x1_sse2<S3, S4, NI>, G0>: Into<x2<u64x2_sse2<S3, S4, NI>, G0>>,
x2<u128x1_sse2<S3, S4, NI>, G0>: Into<x2<u64x2_sse2<S3, S4, NI>, G1>>,
x2<u128x1_sse2<S3, S4, NI>, G0>: Into<x2<u32x4_sse2<S3, S4, NI>, G0>>,
x4<u128x1_sse2<S3, S4, NI>>: Into<x4<u64x2_sse2<S3, S4, NI>>>,
x4<u128x1_sse2<S3, S4, NI>>: Into<x4<u32x4_sse2<S3, S4, NI>>>,