Skip to content

Runtime detection of VEX variants of AVX512 #1586

New issue

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

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

Already on GitHub? # to your account

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)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants