Skip to content

Turn stdarch into a Josh subtree #141899

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

Draft
wants to merge 2,397 commits into
base: master
Choose a base branch
from
Draft

Turn stdarch into a Josh subtree #141899

wants to merge 2,397 commits into from

Conversation

Kobzol
Copy link
Contributor

@Kobzol Kobzol commented Jun 2, 2025

In a similar vein as #141229, this PR makes the stdarch repository a Josh subtree (it was previously a submodule). The initial commit of stdarch upon this is based is b6e2249e388f520627544812649b77b0944e1a2e, which is the previous commit SHA of the stdarch submodule. The sync was performed according to https://hackmd.io/7pOuxnkdQDaL1Y1FQr65xg.

This was decided in rust-lang/stdarch#1655.

Test pull PR on my fork: Kobzol/stdarch#1
Test push PR on my fork: Kobzol#59

I plan to use the same Rust (miri-inspired) tooling that we use for rustc-dev-guide to enable pulls/pushes on stdarch.

Note that this repository currently doesn't have any stdarch-specific tests, so before that, the subtree should only be modified through this repository only when dealing with changes that contain "cyclical dependencies" between stdarch and rustc. The long term vision is to integrate stdarch into rust-lang/rust completely.

CC @Amanieu

r? @RalfJung (feel free to reroll)

folkertdev and others added 30 commits February 23, 2025 23:21
on s390x I had some problems with the old implementation not combining
with other instructions well, and using the purpose-built intrinsic is
just clearer.
these implementations work with just the vector target feature, but they only get a dedicated instruction in vector-enhancements-1
Upstream Rust currently does not support printing f16s in decimal.
For the intrinsics tests to work, make C++ print float16_t in the same
format.

Can be droppen once rust-lang#127013
is merged.
Mark all SSE SIMD-computing intrinsics as safe, except for those involving memory operations.
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 2, 2025
@RalfJung
Copy link
Member

RalfJung commented Jun 3, 2025

Thanks a lot! However, I feel like this should be approved by t-libs... maybe r? @Amanieu ?

Also it my be a good idea to wait for compiler-builtins having their first successful syncs in both directions to ensure there's no hidden pitfalls in the setup.

How hard would it be to add a smoke test that at least checks that the crates build by themselves (i.e., outside of libcore)? That should be feasible wrt CI time and should catch some of the obvious issues -- the lib.rs file is otherwise entirely unused on the rustc side.

@rustbot rustbot assigned Amanieu and unassigned RalfJung Jun 3, 2025
@Kobzol
Copy link
Contributor Author

Kobzol commented Jun 3, 2025

Also it my be a good idea to wait for compiler-builtins having their first successful syncs in both directions to ensure there's no hidden pitfalls in the setup.

Definitely agreed.

How hard would it be to add a smoke test that at least checks that the crates build by themselves (i.e., outside of libcore)? That should be feasible wrt CI time and should catch some of the obvious issues -- the lib.rs file is otherwise entirely unused on the rustc side.

Yeah, I think we should do at least some smoke test. I guess that we could do it in bootstrap, I'll take a look.

@bors
Copy link
Collaborator

bors commented Jun 4, 2025

☔ The latest upstream changes (presumably #141229) made this pull request unmergeable. Please resolve the merge conflicts.

@bors bors added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 4, 2025
@Amanieu
Copy link
Member

Amanieu commented Jun 4, 2025

This is going to conflict with #141964 which updates the submodule.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.