[CMAKE] Enable SSE4.1, SHA-NI and AVX2 for the crypto library
Summary: They are enabled if the hardware support the appropriated instructions.
Test Plan:
Edit src/bench/bench_bitcoin.cpp and replace the line:
SHA256AutoDetect();
With:
std::cout << SHA256AutoDetect() <<std::endl;
Then
cmake -GNinja .. ninja bitcoin-bench ./src/bench/bitcoin-bench -filter=SHA256
Check that the enabled features match your hardware capabilities by
looking at the CPU flags in /proc/cpuinfo.
Checked with all flags and without avx2.
Run the gitian builds.
Reviewers: #bitcoin_abc, deadalnix, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D4706