Closed
Description
Description
After discussions with Supranational last week, we now know that BLST requires at least SSSE3, even when compiled without -march=native
.
We could resolve this either by:
- Switching to Milagro at compile time if we detect the absence of SSSE3 using the
target_features
cfg flag: https://doc.rust-lang.org/reference/attributes/codegen.html#available-features, or - Pushing BLST to include a scalar implementation of SHA256, so that SSSE3 is no longer required
I think option (2) is preferable, as it will allow us to distribute just two binaries instead of three i.e. [ADX, no ADX] instead of [ADX, SSSE3, Neither].