Struct ppv_lite86::x86_64::Avx2Machine
source · pub struct Avx2Machine<NI>(PhantomData<NI>);
Tuple Fields§
§0: PhantomData<NI>
Trait Implementations§
source§impl<NI: Clone> Clone for Avx2Machine<NI>
impl<NI: Clone> Clone for Avx2Machine<NI>
source§fn clone(&self) -> Avx2Machine<NI>
fn clone(&self) -> Avx2Machine<NI>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<NI: Copy> Machine for Avx2Machine<NI>
impl<NI: Copy> Machine for Avx2Machine<NI>
type u32x4 = u32x4_sse2<YesS3, YesS4, NI>
type u64x2 = u64x2_sse2<YesS3, YesS4, NI>
type u128x1 = u128x1_sse2<YesS3, YesS4, NI>
type u32x4x2 = u32x4x2_avx2<NI>
type u64x2x2 = x2<u64x2_sse2<YesS3, YesS4, NI>, G0>
type u64x4 = x2<u64x2_sse2<YesS3, YesS4, NI>, G1>
type u128x2 = x2<u128x1_sse2<YesS3, YesS4, NI>, G0>
type u32x4x4 = x2<u32x4x2_avx2<NI>, G0>
type u64x2x4 = x4<u64x2_sse2<YesS3, YesS4, NI>>
type u128x4 = x4<u128x1_sse2<YesS3, YesS4, NI>>
fn unpack<S, V: Store<S>>(self, s: S) -> V
fn vec<V, A>(self, a: A) -> Vwhere
V: MultiLane<A>,
fn read_le<V>(self, input: &[u8]) -> Vwhere
V: StoreBytes,
fn read_be<V>(self, input: &[u8]) -> Vwhere
V: StoreBytes,
impl<NI: Copy> Copy for Avx2Machine<NI>
impl<NI: Copy> u128x1<Avx2Machine<NI>> for u128x1_sse2<YesS3, YesS4, NI>where
u128x1_sse2<YesS3, YesS4, NI>: Swap64 + RotateEachWord64 + RotateEachWord32 + BSwap + Into<<SseMachine<YesS3, YesS4, NI> as Machine>::u32x4> + Into<<SseMachine<YesS3, YesS4, NI> as Machine>::u64x2>,
SseMachine<YesS3, YesS4, NI>: Machine,
impl<NI: Copy> u128x2<Avx2Machine<NI>> for x2<u128x1_sse2<YesS3, YesS4, NI>, G0>where
u128x1_sse2<YesS3, YesS4, NI>: Swap64 + BSwap,
Avx2Machine<NI>: Machine,
x2<u128x1_sse2<YesS3, YesS4, NI>, G0>: MultiLane<[<Avx2Machine<NI> as Machine>::u128x1; 2]> + Vec2<<Avx2Machine<NI> as Machine>::u128x1> + Into<<Avx2Machine<NI> as Machine>::u32x4x2> + Into<<Avx2Machine<NI> as Machine>::u64x2x2> + Into<<Avx2Machine<NI> as Machine>::u64x4>,
impl<NI: Copy> u128x4<Avx2Machine<NI>> for x4<u128x1_sse2<YesS3, YesS4, NI>>where
u128x1_sse2<YesS3, YesS4, NI>: Swap64 + BSwap,
Avx2Machine<NI>: Machine,
x4<u128x1_sse2<YesS3, YesS4, NI>>: MultiLane<[<Avx2Machine<NI> as Machine>::u128x1; 4]> + Vec4<<Avx2Machine<NI> as Machine>::u128x1> + Into<<Avx2Machine<NI> as Machine>::u32x4x4> + Into<<Avx2Machine<NI> as Machine>::u64x2x4>,
impl<NI: Copy> u32x4<Avx2Machine<NI>> for u32x4_sse2<YesS3, YesS4, NI>where
u32x4_sse2<YesS3, YesS4, NI>: RotateEachWord32 + BSwap + MultiLane<[u32; 4]> + Vec4<u32>,
SseMachine<YesS3, YesS4, NI>: Machine,
impl<NI> u32x4x2<Avx2Machine<NI>> for u32x4x2_avx2<NI>where
NI: Copy,
impl<NI: Copy> u32x4x2<Avx2Machine<NI>> for x2<u32x4_sse2<YesS3, YesS4, NI>, G0>where
u32x4_sse2<YesS3, YesS4, NI>: RotateEachWord32 + BSwap,
Avx2Machine<NI>: Machine,
x2<u32x4_sse2<YesS3, YesS4, NI>, G0>: MultiLane<[<Avx2Machine<NI> as Machine>::u32x4; 2]> + Vec2<<Avx2Machine<NI> as Machine>::u32x4>,
impl<NI: Copy> u32x4x4<Avx2Machine<NI>> for x2<u32x4x2_avx2<NI>, G0>
impl<NI: Copy> u64x2<Avx2Machine<NI>> for u64x2_sse2<YesS3, YesS4, NI>where
u64x2_sse2<YesS3, YesS4, NI>: RotateEachWord64 + RotateEachWord32 + BSwap + MultiLane<[u64; 2]> + Vec2<u64>,
SseMachine<YesS3, YesS4, NI>: Machine,
impl<NI: Copy> u64x2x2<Avx2Machine<NI>> for x2<u64x2_sse2<YesS3, YesS4, NI>, G0>where
u64x2_sse2<YesS3, YesS4, NI>: RotateEachWord64 + RotateEachWord32 + BSwap,
Avx2Machine<NI>: Machine,
x2<u64x2_sse2<YesS3, YesS4, NI>, G0>: MultiLane<[<Avx2Machine<NI> as Machine>::u64x2; 2]> + Vec2<<Avx2Machine<NI> as Machine>::u64x2>,
impl<NI: Copy> u64x2x4<Avx2Machine<NI>> for x4<u64x2_sse2<YesS3, YesS4, NI>>where
u64x2_sse2<YesS3, YesS4, NI>: RotateEachWord64 + RotateEachWord32 + BSwap,
Avx2Machine<NI>: Machine,
x4<u64x2_sse2<YesS3, YesS4, NI>>: MultiLane<[<Avx2Machine<NI> as Machine>::u64x2; 4]> + Vec4<<Avx2Machine<NI> as Machine>::u64x2>,
impl<NI: Copy> u64x4<Avx2Machine<NI>> for x2<u64x2_sse2<YesS3, YesS4, NI>, G1>where
u64x2_sse2<YesS3, YesS4, NI>: RotateEachWord64 + RotateEachWord32 + BSwap,
Avx2Machine<NI>: Machine,
x2<u64x2_sse2<YesS3, YesS4, NI>, G1>: MultiLane<[u64; 4]> + Vec4<u64> + Words4,
Auto Trait Implementations§
impl<NI> Freeze for Avx2Machine<NI>
impl<NI> RefUnwindSafe for Avx2Machine<NI>where
NI: RefUnwindSafe,
impl<NI> Send for Avx2Machine<NI>where
NI: Send,
impl<NI> Sync for Avx2Machine<NI>where
NI: Sync,
impl<NI> Unpin for Avx2Machine<NI>where
NI: Unpin,
impl<NI> UnwindSafe for Avx2Machine<NI>where
NI: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)