Port blake2 on coresimd
With stabilization of SIMD intrinsics in Rust 1.27 we can remove simd feature from the blake2 crate.
btw, here's a bounty on this issue: https://www.bountysource.com/issues/59948303-port-blake2-on-coresimd
How would this work for rustc 1.21..=1.26?
For v0.8 it will have to be feature-gated behind some feature (it can be the same simd feature), but I am thinking about migrating to Rust 2018 for v0.9.
What about BLAKE3?
I’d be very much into us having a high-performance BLAKE3 implementation but am not aware of the state-of-the-art in Rust BLAKE3 libraries /cc @zooko
See BLAKE3 #103
I started working on the issue.
@pczarn it'd be really good to get #228 landed before we try to extend the current implementation
@tarcieri Okay, so you are close to getting a new implementation, but a migration from core::arch x86/x86_64 intrinsics to a portable core::simd will remain to be done?
Looks like coresimd is some internal utility, and not core::simd, so:
- could you point me to the code for
coresimd? - would it be better to give it a name that cannot be confused with core's
simd? - are you looking into using core's
simdonce it gets stabilized?
I think this ticket is actually referring to core::arch SIMD intrinsics, though adding support for core::simd would be nice
Ok, please update me when progress with #228 happens