Skip to main content

Module avx2

Module avx2 

Source

Structsยง

Avx2
The SIMD token for the x86-64-v3 level.

Functionsยง

cross_block_alignr_256x1 ๐Ÿ”’ โš 
Concatenates b and a (each 1 x __m256i = 2 blocks) and extracts 2 blocks starting at byte offset shift_bytes. Extracts from [b : a] (b in low bytes, a in high bytes), matching alignr semantics.
cross_block_alignr_256x2 ๐Ÿ”’ โš 
Concatenates b and a (each 2 x __m256i = 4 blocks) and extracts 4 blocks starting at byte offset shift_bytes. Extracts from [b : a] (b in low bytes, a in high bytes), matching alignr semantics.
cross_block_alignr_one ๐Ÿ”’ โš 
Computes one output __m256i for cross_block_alignr_* operations.
dyn_alignr_128 ๐Ÿ”’ โš 
This is a version of the alignr intrinsic that takes a non-const shift argument. The shift is still expected to be constant in practice, so the match statement will be optimized out. This exists because Rust doesnโ€™t currently let you do math on const generics.
dyn_alignr_256 ๐Ÿ”’ โš 
This is a version of the alignr intrinsic that takes a non-const shift argument. The shift is still expected to be constant in practice, so the match statement will be optimized out. This exists because Rust doesnโ€™t currently let you do math on const generics.