#![cfg(feature = "asm-aarch64")]
use libc::{getauxval, AT_HWCAP, HWCAP_SHA1};
fn sha1_supported() -> bool {
#[allow(unsafe_code)]
let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) };
(hwcaps & HWCAP_SHA1) != 0
}
pub fn compress(state: &mut [u32; 5], blocks: &[u8; 64]) {
if sha1_supported() {
for block in blocks {
sha1_asm::compress(state, block);
}
} else {
super::soft::compress(state, blocks);
}
}