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

Runtime detection of VEX variants of AVX512 #1586

Merged
merged 1 commit into from
Jun 23, 2024
Merged

Conversation

sayantn
Copy link
Contributor

@sayantn sayantn commented Jun 18, 2024

Added run-time detection for 5 new x86 target features. Expanded the Cache size to 93.

  • AVX-IFMA
  • AVX-NE-CONVERT
  • AVX-VNNI
  • AVX-VNNI_INT8
  • AVX-VNNI_INT16

Fixed run-time detection of VAES, GFNI, VPCLMULQDQ (they do not need AVX512 support, the 512-bit versions need AVX512F, and that should be handled in target-feature attributes of the intrinsics.

See also the rustc PR

@rustbot
Copy link
Collaborator

rustbot commented Jun 18, 2024

r? @Amanieu

rustbot has assigned @Amanieu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@sayantn sayantn changed the title Add some new target features for x86 Runtime detection of VEX variants of AVX512 Jun 18, 2024
@sayantn sayantn force-pushed the veorq branch 2 times, most recently from 004f7a5 to f1553d6 Compare June 19, 2024 15:02
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 20, 2024
Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jun 21, 2024
Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 21, 2024
Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 21, 2024
Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 21, 2024
Rollup merge of rust-lang#126617 - sayantn:veorq, r=workingjubilee

Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
@Amanieu Amanieu enabled auto-merge (rebase) June 23, 2024 08:13
Expanded the cache size to 93 (we will need this in near future)
Fixed detection of VAES, GFNI and VPCLMULQDQ
Could not test with `cupid` because they do not support these yet
@Amanieu Amanieu merged commit 1cbf7c7 into rust-lang:master Jun 23, 2024
29 checks passed
@sayantn sayantn deleted the veorq branch June 25, 2024 05:19
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Jun 28, 2024
Expand `avx512_target_feature` to include VEX variants

Added 5 new target features for x86:

 - `AVX-IFMA`
 - `AVX-NE-CONVERT`
 - `AVX-VNNI`
 - `AVX-VNNI_INT8`
 - `AVX-VNNI_INT16`

Both LLVM and GCC already have support for these.

See also the [stdarch PR](rust-lang/stdarch#1586)
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