https://github.com/python/cpython/commit/8aaf7525ab839c32966ee862363ad2543a721306
commit: 8aaf7525ab839c32966ee862363ad2543a721306
branch: main
author: Kirill Podoprigora <[email protected]>
committer: sobolevn <[email protected]>
date: 2024-08-30T13:28:32+03:00
summary:
gh-123189: [`Modules/blake2module.c`]: Move function definitions and their
usage under the macros (#123190)
files:
M Modules/blake2module.c
diff --git a/Modules/blake2module.c b/Modules/blake2module.c
index abe31a464a1cb9..56d1cedef44686 100644
--- a/Modules/blake2module.c
+++ b/Modules/blake2module.c
@@ -104,15 +104,19 @@ void detect_cpu_features(cpu_flags *flags) {
}
}
+#ifdef HACL_CAN_COMPILE_SIMD128
static inline bool has_simd128(cpu_flags *flags) {
// For now this is Intel-only, could conceivably be #ifdef'd to something
// else.
return flags->sse && flags->sse2 && flags->sse3 && flags->sse41 &&
flags->sse42 && flags->cmov;
}
+#endif
+#ifdef HACL_CAN_COMPILE_SIMD256
static inline bool has_simd256(cpu_flags *flags) {
return flags->avx && flags->avx2;
}
+#endif
// Small mismatch between the variable names Python defines as part of
configure
// at the ones HACL* expects to be set in order to enable those headers.
@@ -151,6 +155,7 @@ blake2_get_state(PyObject *module)
return (Blake2State *)state;
}
+#if defined(HACL_CAN_COMPILE_SIMD128) || defined(HACL_CAN_COMPILE_SIMD256)
static inline Blake2State*
blake2_get_state_from_type(PyTypeObject *module)
{
@@ -158,6 +163,7 @@ blake2_get_state_from_type(PyTypeObject *module)
assert(state != NULL);
return (Blake2State *)state;
}
+#endif
static struct PyMethodDef blake2mod_functions[] = {
{NULL, NULL}
@@ -311,7 +317,9 @@ static inline bool is_blake2s(blake2_impl impl) {
}
static inline blake2_impl type_to_impl(PyTypeObject *type) {
+#if defined(HACL_CAN_COMPILE_SIMD128) || defined(HACL_CAN_COMPILE_SIMD256)
Blake2State* st = blake2_get_state_from_type(type);
+#endif
if (!strcmp(type->tp_name, blake2b_type_spec.name)) {
#ifdef HACL_CAN_COMPILE_SIMD256
if (has_simd256(&st->flags))
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]