Investigate building ed25519-donna with SSE2 support.
Adding something like this to
ed25519-donna-portable.h should do the trick:
/* Tor: Build with SSE2 where it makes sense to do so. */ #if defined(__SSE2__) && !(defined(__x86_64__) || defined(__amd64__)) #define ED25519_SSE2 #endif
- SSE2 builds benchmark worse on x86_64, at least Haswell.
- This opens us up to potentially really obnoxious compiler bugs/pathologically bad code generation.
- Most distribution packages probably don't build for an architecture that will define
_SSE2_, so this would only get picked up by people doing custom builds.
- Is this actually faster on 32 bit Intel?
- Is doing something like "always building SSE2 and non-SSE2 and using CPUID to pick at runtime" sensible? (I personally think "No").
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information