Make AVX512IFMA opt-in backend#695
Conversation
rozbb
left a comment
There was a problem hiding this comment.
Thank you! Left some small nits here and there
|
Ok this seems good to me, thoughts @tarcieri ? |
|
Thanks again! |
|
Can this be reverted considering AVX512 was stabilized in Rust and AVX10/256 is no longer a thing. The impact of this change is very substantial on modern AVX512-capable CPUs. |
|
@nazar-pc a simple revert won't help, since that just goes back to The code instead needs to actually be updated to support |
|
Since Requiring Maybe extending feature check to |
|
Autodetecting nightly is antipattern that has caused massive ecosystem breakages (see e.g. ahash). We had several people from rust-core lecture us that we should not be doing it |
* field_canonical + field64 * rebase * field specs * rebase tweaks * fmt * oneline json * PR comments * PR comments p2
Closes #694 #635 #693
Provides
cfg(curve25519_dalek_backend = "unstable_avx512")Errors
Note: I avoided whole lot of any(curve25519_dalek_backend = "simd", curve25519_dalek_backend = "unstable_avx512") gating because compilre allows multi-value per cfg-key where we emit "simd" in addition to unstable_avx512 when potential use validated giving AVX2 fallback through simd.
If it's desirable to instead have explicit gating then let me know - but it pollutes a lot of gating.