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

Stabilize the avx512 target features #138940

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sayantn
Copy link
Contributor

@sayantn sayantn commented Mar 25, 2025

This PR stabilizes the AVX512 target features - see this comment.

Tracking Issue - #44839

DO NOT MERGE now, because the runtime detection for 5 features are guarded on avx512_target_feature, so rust-lang/stdarch#1757 has a temporary fix which changes the feature name of these. We need to FCP these together with all the AVX512 target features, after that and merge of rust-lang/stdarch#1760, we can again do a stdarch update and merge this.

The target feature UI tests have been changed to cmpxchg16b (arbitrarily chosen, please comment if some other feature will be better)

Updates stdarch

Needs to wait for some stdarch fixes

@rustbot
Copy link
Collaborator

rustbot commented Mar 25, 2025

r? @davidtwco

rustbot has assigned @davidtwco.
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

@rustbot
Copy link
Collaborator

rustbot commented Mar 25, 2025

⚠️ Warning ⚠️

  • These commits modify submodules.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Mar 25, 2025
@rust-log-analyzer

This comment has been minimized.

@sayantn

This comment was marked as resolved.

@sayantn sayantn force-pushed the stabilize-avx512 branch 2 times, most recently from 1be9f75 to 94d0e36 Compare March 25, 2025 19:51
@rustbot
Copy link
Collaborator

rustbot commented Mar 25, 2025

The Miri subtree was changed

cc @rust-lang/miri

@rust-log-analyzer

This comment has been minimized.

@Amanieu Amanieu added the I-lang-nominated Nominated for discussion during a lang team meeting. label Mar 25, 2025
@Amanieu
Copy link
Member

Amanieu commented Mar 25, 2025

Nominating for T-lang FCP. This stabilizes the AVX512 target features which is a per-requisite for stabilizing the AVX-512 intrinsics tracked in #111137.

@Amanieu Amanieu added T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. and removed T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Mar 25, 2025
@ehuss
Copy link
Contributor

ehuss commented Mar 26, 2025

Can you also send a PR to update https://github.com/rust-lang/reference/blob/master/src/attributes/codegen.md#x86-or-x86_64?

@rust-log-analyzer

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These features are for the various AVX512 sub-features. We have already stabilized some of these names in is_x86_feature_detected! so the language level name should match.

@rustbot
Copy link
Collaborator

rustbot commented Apr 10, 2025

⚠️ Warning ⚠️

  • Some commits in this PR modify submodules.

@rust-log-analyzer
Copy link
Collaborator

The job mingw-check failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] build_script_build test:false 0.571
error: unresolved link to `mem::MaybeUninit`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:267:55
    |
267 | /// picks some valid value and is not equivalent to [`mem::MaybeUninit`].
    |                                                       ^^^^^^^^^^^^^^^^ no item named `mem` in scope
    |
    = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`

error: unresolved link to `mem::zeroed`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:268:52
    |
268 | /// In practice, this is typically equivalent to [`mem::zeroed`].
    |                                                    ^^^^^^^^^^^ no item named `mem` in scope

error: unresolved link to `mem::MaybeUninit`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:280:55
    |
280 | /// picks some valid value and is not equivalent to [`mem::MaybeUninit`].
    |                                                       ^^^^^^^^^^^^^^^^ no item named `mem` in scope

error: unresolved link to `mem::zeroed`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:281:52
    |
281 | /// In practice, this is typically equivalent to [`mem::zeroed`].
    |                                                    ^^^^^^^^^^^ no item named `mem` in scope

error: unresolved link to `mem::MaybeUninit`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:293:55
    |
293 | /// picks some valid value and is not equivalent to [`mem::MaybeUninit`].
    |                                                       ^^^^^^^^^^^^^^^^ no item named `mem` in scope

error: unresolved link to `mem::zeroed`
   --> library/core/src/../../stdarch/crates/core_arch/src/x86/avx512fp16.rs:294:52
    |
294 | /// In practice, this is typically equivalent to [`mem::zeroed`].
    |                                                    ^^^^^^^^^^^ no item named `mem` in scope

error: could not document `core`
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] core test:false 12.870
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:00:13
  local time: Thu Apr 10 10:31:34 UTC 2025
  network time: Thu, 10 Apr 2025 10:31:35 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-lang-nominated Nominated for discussion during a lang team meeting. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants