module/icp/asm-arm/sha2: enable non-SIMD asm kernels on armv5/6 #15623
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
My merged pull request #15557 fixes compilation of sha2 kernels on arm v5/6.
However, the compiler guards only allow
sha256/512_armv7_impl
to be used when__ARM_ARCH > 6
. Therefore old arm architectures cannot leverage the well-written asm kernelszfs_sha256/512_block_armv7
(from openssl project) and always fall back to the generic C implementation. This might lead to unnecessary performance degradation.These kernels are actually named
armv4
from the openssl side. So I believe it has been guaranteed to work on old arm arches.Description
This patch enables these ASM kernels on all arm architectures. Some compiler guards are adjusted accordingly to avoid the unnecessary compilation of SIMD (e.g., neon, armv8ce) kernels on old architectures.
See also: 4c5fec0
How Has This Been Tested?
I have tested compilation on
armv5te
/armv6
architectures. No behavior changes are made to other architectures.Types of changes
Checklist:
Signed-off-by
.