Module curve25519_dalek::backend::vector::avx2::field[][src]

This is supported on crate feature simd_backend and (target features avx2 or avx512ifma) and target feature avx2 and non-target feature avx512ifma only.
Expand description

An implementation of 4-way vectorized 32bit field arithmetic using AVX2.

The FieldElement2625x4 struct provides a vector of four field elements, implemented using AVX2 operations. Its API is designed to abstract away the platform-dependent details, so that point arithmetic can be implemented only in terms of a vector of field elements.

At this level, the API is optimized for speed and not safety. The FieldElement2625x4 does not always perform reductions. The pre- and post-conditions on the bounds of the coefficients are documented for each method, but it is the caller’s responsibility to ensure that there are no overflows.

Structs

A vector of four field elements.

Enums

The Lanes enum represents a subset of the lanes A,B,C,D of a FieldElement2625x4.

The Shuffle enum represents a shuffle of a FieldElement2625x4.

Constants

Functions

Repack 64-bit lanes into 32-bit lanes:

Unpack 32-bit lanes into 64-bit lanes: