Type Alias ppv_lite86::x86_64::AVX

source ·
pub type AVX = SseMachine<YesS3, YesS4, NoNI>;
Expand description

AVX but not AVX2: only 128-bit integer operations, but use VEX versions of everything to avoid expensive SSE/VEX conflicts.

Aliased Type§

struct AVX(/* private fields */);

Trait Implementations§

source§

impl<S3: Clone, S4: Clone, NI: Clone> Clone for SseMachine<S3, S4, NI>

source§

fn clone(&self) -> SseMachine<S3, S4, NI>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<S3: Copy, S4: Copy, NI: Copy> Machine for SseMachine<S3, S4, NI>where u128x1_sse2<S3, S4, NI>: Swap64 + BSwap, u64x2_sse2<S3, S4, NI>: BSwap + RotateEachWord32 + MultiLane<[u64; 2]> + Vec2<u64>, u32x4_sse2<S3, S4, NI>: BSwap + RotateEachWord32 + MultiLane<[u32; 4]> + Vec4<u32>, x2<u64x2_sse2<S3, S4, NI>, G1>: BSwap + Words4, x2<u128x1_sse2<S3, S4, NI>, G0>: Into<x2<u64x2_sse2<S3, S4, NI>, G0>> + Into<x2<u64x2_sse2<S3, S4, NI>, G1>> + Into<x2<u32x4_sse2<S3, S4, NI>, G0>>, x4<u128x1_sse2<S3, S4, NI>>: Into<x4<u64x2_sse2<S3, S4, NI>>> + Into<x4<u32x4_sse2<S3, S4, NI>>>,

§

type u32x4 = u32x4_sse2<S3, S4, NI>

§

type u64x2 = u64x2_sse2<S3, S4, NI>

§

type u128x1 = u128x1_sse2<S3, S4, NI>

§

type u32x4x2 = x2<u32x4_sse2<S3, S4, NI>, G0>

§

type u64x2x2 = x2<u64x2_sse2<S3, S4, NI>, G0>

§

type u64x4 = x2<u64x2_sse2<S3, S4, NI>, G1>

§

type u128x2 = x2<u128x1_sse2<S3, S4, NI>, G0>

§

type u32x4x4 = x4<u32x4_sse2<S3, S4, NI>>

§

type u64x2x4 = x4<u64x2_sse2<S3, S4, NI>>

§

type u128x4 = x4<u128x1_sse2<S3, S4, NI>>

source§

unsafe fn instance() -> Self

Safety Read more
source§

fn unpack<S, V: Store<S>>(self, s: S) -> V

source§

fn vec<V, A>(self, a: A) -> Vwhere V: MultiLane<A>,

source§

fn read_le<V>(self, input: &[u8]) -> Vwhere V: StoreBytes,

source§

fn read_be<V>(self, input: &[u8]) -> Vwhere V: StoreBytes,

source§

impl<S3: Copy, S4: Copy, NI: Copy> Copy for SseMachine<S3, S4, NI>