Ah, I misread. The MSVC builds don’t have SHANI (but the mingw builds do, which explains the log).
Yeah, SHANI, SHA vectorization, and algorithm optimization is a fun basket of optimizations. I ended up implementing all SHA, MD, HMAC, and PBKD from spec as C++ templates, to eliminate all of the redundancy and generalize the optimizations. Still have to drop ARM vectorization and ARM/Intel SHA into the SHA template.
For this reason the libbitcoin build is highly sensitive to compiler optimization. With maximal speed optimization it slightly outperforms the BC C implementations and optimizations (where SHANI is excluded), but without -O3 it underperforms. (edited)
… and Scrypt from spec, and the hash accumulator.
https://github.com/libbitcoin/libbitcoin-system/tree/master/include/bitcoin/system/impl/hash