Updated Support for AArch64 (markdown)

JayDDee
2023-11-13 16:33:37 -05:00
parent 89ace18f18
commit b34273d613

@@ -11,11 +11,10 @@ Requirements:
## Status
**cpuminer-opt-23.8 is released, all users should upgrade**
**cpuminer-opt-23.9 is released, all users should upgrade**
Highlights from this release:
Removed some obsolete code that should make it easier to support AArch64 and hopefully MacOS soon.
AES is working in general and enabled for Shavite & Echo. Groestl and Fugue still have issues.
Fixed minotaurx x86_64, broken in v23.7, #407 fixed a compile error
Upgraded development environment:
* Orange Pi 5 Plus 16 GB, Rockchip 8 core CPU with AES & SHA2
@@ -56,8 +55,7 @@ Known problems:
* Algos may show support for NEON even if it's disabled or not yet implemented.
* X17, MinotaurX are not fully oprimized.
* Simd: NEON parallel hash not enasbled, using unoptimized.
* Fugue: Multiple issues with NEON & AES, using unoptimized.
* Groestl: Neon AES not working, using unoptimized.
* Groestl, Fugue: Multiple issues with NEON & AES, using unoptimized.
* Hamsi: parallel NEON not working, using unoptimized.
* SWIFFTX: Deferred, using unoptimized.
* Algos not mentioned have either been deferred or have not been analyzed. They may or may not work on ARM.
@@ -66,13 +64,15 @@ Short term plan:
Continue fixing parallel hash functions for x17 before propagating them to the rest of the X family.
Figure out what's going on with verthash.
Extend suport to x21s, x22i, x25x.
Extend support to x21s, x22i, x25x.
Add support for the short algos like skein2, keccak, blake2s, etc.
Complete any other work needed to bring parity with SSE2.
Performance testing.
Medium term:
Groestl & Fugue AES.
Detection of ARM CPU model and architecture minor version.
Find NEON optimization opportunities that exploit it's architecture and instruction set.
Apply lessons learned to x86_64.