INNER CODE UNIT · Rust
process_with_backend
RustCrypto/stream-ciphers · chacha20/src/lib.rs:239
fn process_with_backend(
&mut self,
f: impl cipher::StreamCipherClosure<BlockSize = Self::BlockSize>,
) {
cfg_if! {
if #[cfg(chacha20_backend = "soft")] {
f.call(&mut backends::soft::Backend(self));
} else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] {
cfg_if! {
if #[cfg(all(chacha20_avx512, chacha20_backend = "avx512"))] {
unsafe {
backends::avx512::inner::<R, _, V>(&mut self.state, f);
}
} else if #[cfg(chacha20_backend = "avx2")] {
unsafe {
backends::avx2::inner::<R, _, V>(&mut self.state, f);
}
} else if #[cfg(chacha20_backend = "sse2")] {