#[repr(C, align(16))]pub struct Lanes4Word32(pub [u32; 4]);Expand description
Four lanes of Word32 = one 128-bit register (__m128i) — the SHA-1 state/message carrier. Unlike
the arithmetic lane types, its vocabulary is the four Intel SHA operations (sha1rnds4/sha1msg1/
sha1msg2/sha1nexte), so SHA-1 WRITTEN in Logos over these compiles to the sha1rnds4 hardware
sequence (AOT) and runs the byte-identical software spec crate::sha_ops on the interpreter.
Lane i is bits [32i+31 : 32i] — index 0 low, index 3 high — matching _mm_loadu_si128.
Tuple Fields§
§0: [u32; 4]Implementations§
Source§impl Lanes4Word32
impl Lanes4Word32
Sourcepub fn from_words(s: &[Word32]) -> Self
pub fn from_words(s: &[Word32]) -> Self
Pack the first four Word32s of a slice (shorter slices zero-fill), lane 0 = element 0.
Sourcepub fn sha1rnds4(self, msg: Self, func: u32) -> Self
pub fn sha1rnds4(self, msg: Self, func: u32) -> Self
Four SHA-1 rounds (sha1rnds4), func ∈ 0..=3 — the Intel SHA-NI instruction when the CPU has
it, else the byte-identical software spec (crate::sha_ops, proven equal by fuzz). self is
the ABCD state, msg the four message dwords with the round’s E folded in.
Trait Implementations§
Source§impl Add for Lanes4Word32
impl Add for Lanes4Word32
Source§impl BitXor for Lanes4Word32
impl BitXor for Lanes4Word32
Source§impl Clone for Lanes4Word32
impl Clone for Lanes4Word32
Source§fn clone(&self) -> Lanes4Word32
fn clone(&self) -> Lanes4Word32
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Lanes4Word32
impl Debug for Lanes4Word32
Source§impl Hash for Lanes4Word32
impl Hash for Lanes4Word32
Source§impl PartialEq for Lanes4Word32
impl PartialEq for Lanes4Word32
Source§fn eq(&self, other: &Lanes4Word32) -> bool
fn eq(&self, other: &Lanes4Word32) -> bool
self and other values to be equal, and is used by ==.