Updated Support for AARCH64 (markdown)

JayDDee
2023-10-06 21:45:38 -04:00
parent 20c7102dff
commit 57a9da7558

@@ -12,16 +12,18 @@ Requirements:
* Current status: nothing publicly released yet. * Current status: nothing publicly released yet.
* ARM support will be source code only, no binaries are planned. Optimizations available in first public release:
* Coding is progressing with many issues translating SSE to NEON. Some things are done very differently and some things may not be possible.
* The lack of flexible lane shuffling is a major problem. Some shuffles may have to be done by inserting one lane at a time. * all variations of blake have linear and parallel vectorization
* Current expectations are best performance will be with sha256 based algos. AES is only supported for shavite. * all variations of sha256 have parallel and HW accelerated optimizations
* Parallel 4 way hashing will not be provided initially but will be added later. * algorithms that use shavite have AES HW acceleration
* Current problem algos include anything with Groestl, Echo & Fugue due to problems with the AES implementation. * algorithms that use luffa or cubehash have linear vectorization
* Simd has a problem with multiplication that I haven't resolved.
* Scrypt has issues with the lack of a blend instruction in NEON that requires a workaround. The lack of mask creating doesn't make it any easier. x86_64 optimizations disabled for ARM:
* Yespower/yescrypt also have issues that aren't fully understood due to the complexity of the current code.
* Unresolved issues will result in using completely unoptimized "reference" code. * aes is disabled for Groestl, Echo, and fugue.
* Simd (the hash function, not the CPU feature) linear vectorization is disabled
* Yespower, yescrypt, scrypt & argon2d optimizations are disabled
## Test plan ## Test plan