Crate rs_n_bit_words
source ·Structs
- Intel documentation provides that
S0(a) = (a >>> 2) ^ (a >>> 13) ^ (a >>> 22)
andS1(e) = (e >>> 6) ^ (e >>> 11) ^ (e >>> 25)
involves a number of register copy operations due to ror instructions being destructive. And that number of register copies can be minimized writingS0
andS1
asS0(a) = ((( a >>> 9) ^ a) >>> 11) ^ a) >>> 2
andS1(e) = (((e >>> 14) ^ e) >>> 5) ^ e) >>> 6