Function bearssl::br_ghash_pclmul
[−]
[src]
pub unsafe extern "C" fn br_ghash_pclmul(
y: *mut c_void,
h: *const c_void,
data: *const c_void,
len: usize
)
\brief GHASH implementation using the pclmulqdq
opcode (part of the
AES-NI instructions).
This implementation is available only on x86 platforms where the
compiler supports the relevant intrinsic functions. Even if the
compiler supports these functions, the local CPU might not support
the pclmulqdq
opcode, meaning that a call will fail with an
illegal instruction exception. To safely obtain a pointer to this
function when supported (or 0 otherwise), use br_ghash_pclmul_get()
.
\param y the array to update.
\param h the GHASH key.
\param data the input data (may be NULL
if len
is zero).
\param len the input data length (in bytes).