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

Update stdarch submodule to latest head #72749

Merged
merged 1 commit into from
May 31, 2020

Conversation

vertexclique
Copy link
Member

Includes avx512 work & aarch64 tme.

@rust-highfive
Copy link
Collaborator

r? @LukasKalbertodt

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

@rust-highfive
Copy link
Collaborator

⚠️ Warning ⚠️

  • These commits modify submodules.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 29, 2020
@vertexclique
Copy link
Member Author

r? @Amanieu

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

@bors r+

@bors
Copy link
Contributor

bors commented May 29, 2020

📌 Commit 5b01cd5e1b51c89be8e13a7924e70645363dab09 has been approved by Amanieu

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 29, 2020
@vertexclique
Copy link
Member Author

@Amanieu failed on Linux, might be hwcap issue?

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

It's because the stage0 compiler doesn't support the tme extension. Rustc stage0 uses the current beta compiler to compile master.

You need to add #[cfg(not(bootstrap))] to the tme module in stdarch to exclude it from the stage0 build.

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 29, 2020
@Mark-Simulacrum
Copy link
Member

(Continuing from the other thread)

We generally want x.py doc src/libstd --stage 0 to "just work" because it's significantly better for docs contributors as opposed to forcing them to build a full std/compiler toolchain just to document std. However, that said, I am surprised to see this working with the rustc bootstrap compiler which ran x.py check on that crate already? Is there some bug in bootstrap perhaps that is only sometimes passing --cfg bootstrap?

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

It seems that CI is running a stage0 rustdoc which doesn't understand the "tme" feature as part of the mingw-check builder.

I'm not exactly sure what the right course of action is here. cc @pietroalbini

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

So it seems that this is caused by #56627:

So far this starts to enable the std::arch in stage0 builds of rustc.
This means that we may need stage0/not(stage0) in stdsimd itself, but
more and more code is starting to use std::arch so I think it's time
to start shifting the balance of work here.

I guess we'll just need to add cfg(bootstrap) to stdarch.

@Mark-Simulacrum
Copy link
Member

In the cases where we do need it I'm hoping we can make sure that the current nightly compiler will still work -- i.e., that you just get a less featureful stdsimd but not actually breakage when we upgrade the bootstrap compiler. If that's not possible then please ping me when landing such a change, as it means we need to bump stdsimd when bumping the bootstrap compiler in rust-lang/rust (and in the long run probably means we should subtree/merge in stdsimd to this repo).

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

The TME instructions are not available on any physical CPU yet (and I don't think even QEMU supports them), so I doubt this will cause any breakage in practice.

@Amanieu
Copy link
Member

Amanieu commented May 29, 2020

@bors r+

@bors
Copy link
Contributor

bors commented May 29, 2020

📌 Commit 2915d8e4224c80d08f0f1d75ad6e745964f652c7 has been approved by Amanieu

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 29, 2020
@vertexclique
Copy link
Member Author

The TME instructions are not available on any physical CPU yet (and I don't think even QEMU supports them), so I doubt this will cause any breakage in practice.

Yes, yes, and yes. So far only llvm and gcc incorporated this support.

@vertexclique
Copy link
Member Author

vertexclique commented May 30, 2020

Can someone add this to rollup if it is ok? @rust-lang/release

@Amanieu
Copy link
Member

Amanieu commented May 30, 2020

@bors r+

@bors
Copy link
Contributor

bors commented May 30, 2020

📌 Commit 15201af has been approved by Amanieu

RalfJung added a commit to RalfJung/rust that referenced this pull request May 31, 2020
…Amanieu

Update stdarch submodule to latest head

Includes avx512 work & aarch64 tme.
bors added a commit to rust-lang-ci/rust that referenced this pull request May 31, 2020
Rollup of 5 pull requests

Successful merges:

 - rust-lang#72683 (from_u32_unchecked: check validity, and fix UB in Wtf8)
 - rust-lang#72715 (Account for trailing comma when suggesting `where` clauses)
 - rust-lang#72745 (generalize Borrow<[T]> for Interned<'tcx, List<T>>)
 - rust-lang#72749 (Update stdarch submodule to latest head)
 - rust-lang#72781 (Use `LocalDefId` instead of `NodeId` in `resolve_str_path_error`)

Failed merges:

r? @ghost
@bors bors merged commit e16bd02 into rust-lang:master May 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants