original:
Hash:
| nanosecs/byte mebibytes/sec cycles/byte
WHIRLPOOL | 7.78 ns/B 122.7 MiB/s - c/B
amd64 assembly:
Hash:
| nanosecs/byte mebibytes/sec cycles/byte
WHIRLPOOL | 5.91 ns/B 161.3 MiB/s - c/B
A decent improvement if you choose to include it. I had to insert a few ifdefs
to fix the endianness, because whirlpool is usually big endian and I implemented
it in little endian. It was originally generated by gcc, plus a bit of editing
from me.
The disclaimer: the assembly code is under the GPL, like the rest of the
project. As long as it stays open-source it is fine with me.
Apply with 'patch -p1 < libgcrypt-1.6.1.patch'.