nisse@lysator.liu.se (Niels Möller) writes:
Two reasons: 1. To make the fat binary thing optional, just using a simple cpu-specific file when the cpu is known at compile time. 2. In case we'd like to fallback to the C implementation for some function.
I checked what functions are involved. The ARM neon assembly is for salsa20, sha3, sha512, and umac. There's no non-neon assembly code, so the fat mechanism needs to choose between the C implementation and the neon implementation.
Regards, /Niels