diff --git a/polyval/src/field_element.rs b/polyval/src/field_element.rs index 8c275fa..6004900 100644 --- a/polyval/src/field_element.rs +++ b/polyval/src/field_element.rs @@ -37,7 +37,7 @@ cfg_if! { // aarch64 mod autodetect; mod armv8; - pub(crate) use autodetect::{InitToken, has_intrinsics}; + pub(crate) use autodetect::{InitToken, init_intrinsics}; } else if #[cfg(all( any(target_arch = "x86_64", target_arch = "x86"), not(polyval_backend = "soft") @@ -45,15 +45,14 @@ cfg_if! { // x86/x86-64 mod autodetect; mod x86; - pub(crate) use autodetect::{InitToken, has_intrinsics}; + pub(crate) use autodetect::{InitToken, init_intrinsics}; } else { // "soft" fallback implementation for other targets written in pure Rust use universal_hash::array::{Array, ArraySize}; + // Stub intrinsics "detection" pub(crate) type InitToken = (); - pub(crate) fn has_intrinsics() -> (InitToken, bool) { - ((), false) - } + pub(crate) fn init_intrinsics() {} impl FieldElement { /// Default degree of parallelism, i.e. how many powers of `H` to compute. diff --git a/polyval/src/field_element/autodetect.rs b/polyval/src/field_element/autodetect.rs index 2e3f6fa..ebb36c5 100644 --- a/polyval/src/field_element/autodetect.rs +++ b/polyval/src/field_element/autodetect.rs @@ -15,7 +15,7 @@ cpufeatures::new!(detect_intrinsics, "aes"); // `aes` implies PMULL #[cfg(any(target_arch = "x86_64", target_arch = "x86"))] cpufeatures::new!(detect_intrinsics, "pclmulqdq"); -pub(crate) use detect_intrinsics::{InitToken, init_get as has_intrinsics}; +pub(crate) use detect_intrinsics::{InitToken, init as init_intrinsics}; impl FieldElement { /// Default degree of parallelism, i.e. how many powers of `H` to compute. diff --git a/polyval/src/lib.rs b/polyval/src/lib.rs index 2baf7dd..5cb1fc1 100644 --- a/polyval/src/lib.rs +++ b/polyval/src/lib.rs @@ -13,7 +13,7 @@ pub use crate::mulx::mulx; pub use universal_hash; use core::fmt::{self, Debug}; -use field_element::{FieldElement, InitToken, has_intrinsics}; +use field_element::{FieldElement, InitToken, init_intrinsics}; use universal_hash::{ KeyInit, ParBlocks, Reset, UhfBackend, UhfClosure, UniversalHash, array::{Array, ArraySize}, @@ -76,7 +76,7 @@ impl PolyvalGeneric { /// Initialize POLYVAL with the given `H` field element and initial block. #[must_use] pub fn new_with_init_block(h: &Key, init_block: u128) -> Self { - let has_intrinsics = has_intrinsics().0; + let has_intrinsics = init_intrinsics(); Self { powers_of_h: FieldElement::from(h).powers_of_h(has_intrinsics), y: init_block.into(),