Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VAES intrinsics #942

Merged
merged 4 commits into from
Nov 22, 2020
Merged

Add VAES intrinsics #942

merged 4 commits into from
Nov 22, 2020

Conversation

DevJPM
Copy link
Contributor

@DevJPM DevJPM commented Oct 31, 2020

This adds support for the x86-64 VAES (vectorized AES) intrinsics.
It adds in both the full-width and the VL'ed 256-bit versions
and ensures via tests that they match the same test vectors as the AES-NI
versions and that they match (though sadly w/o quickcheck validation for now)

The test vectors used are the same as in aes.rs.
The folder was chosen to match that of the AVX512F (+-IFMA) implementation.
The name is chosen because of how it is detected in Rust.
This PR requires rust-lang/rust#78361 to be applied to the compiler for the compiler to accept the avx512vaes feature.
I have marked this PR as a draft until the compiler is updated and the change landed in nightly.

@rust-highfive
Copy link

r? @Amanieu

(rust_highfive has picked a reviewer for you, use r? to override)

This adds support for the x86-64 VAES (vectorized AES) intrinsics.
It adds in both the full-width and the VL'ed 256-bit versions
and ensures via tests that they match the same test vectors as the AES-NI
versions and that they match (though sadly w/o quickcheck validation for now)
@DevJPM DevJPM mentioned this pull request Nov 1, 2020
@DevJPM DevJPM changed the title added VAES intrinsics Add VAES intrinsics Nov 1, 2020
This simplifies the test code for VAES by replacing
the repeated identical setup for a and k with a function call
and by using broadcasts instead of manual value repetitions
@DevJPM DevJPM marked this pull request as ready for review November 20, 2020 09:15
@Amanieu Amanieu merged commit 7a533ec into rust-lang:master Nov 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants