Skip to content

Stdarch push #59

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

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open

Stdarch push #59

wants to merge 61 commits into from

Conversation

Kobzol
Copy link
Owner

@Kobzol Kobzol commented Jun 2, 2025

No description provided.

a4lg and others added 30 commits May 26, 2025 20:07
This is a partial revert of a revert, making the
commit e907456b2e10622ccd854a3bba8d02ce170b5dbb come around again
for non-table part.
Reasoning:
1. Majority of code assumes the usage of `Intrinsic` and related types, which is derived from the JSON structure of the ARM intrinsics JSON source file
2. Further commits will start with extracting common parts of the code (eg: Create C/Rust file, Build C/Rust file, etc)
…ted for different architectures.

Next steps:
Move the existing ARM-specific implementation into one that fits well with this trait.
1. Removed default implementation of traits that are compulsorily
implemented
2. Replaced BaseIntrinsicTypeDefinition with Deref<Target =
IntrinsicType>
modifications) outside the IntrinsicDefinition trait
Since the bootstrap compiler of Rust is bumped to the commit
5dadfd5 (version 1.88.0-beta.3 2025-05-11),
some features should be safe to enable cfg checks.

RISC-V Features:

*   "zicsr"
*   "zicntr"
*   "zihpm"
*   "zifencei"
*   "zihintntl"
*   "zihintpause"
*   "zimop"
*   "zicboz"
*   "zicond"
*   "ztso"
*   "zfa"
*   "zca"
*   "zcb"
*   "zcmop"
*   "b"

x86 Features:

*   "amx-avx512"
*   "amx-fp8"
*   "amx-movrs"
*   "amx-tf32"
*   "amx-transpose"
a4lg and others added 22 commits May 31, 2025 09:38
It modernizes the coding style of the crate stdarch-gen-arm by fixing
Clippy warnings (except clippy::{collapsible_if,obfuscated_if_else} that
might make the program look worse as a result of "fixing" warnings).

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 84/84
Note:
Rust Analyzer double counts one of the Clippy warnings so it reduces
85 warnings (as reported by the Rust Analyzer).

This commit also applies similar technique used to resolve Clippy
warnings but also simplifies identifier name formatting and makes
reading easier.

Confirmed that the exact same code will be generated.
It modernizes the coding style of the crate stdarch-gen-loongarch by
fixing Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 1/1

Confirmed that the exact same code will be generated (note that,
generated.rs in the repository is *not* an exact output but some spaces
removed).
It modernizes the coding style of the crate stdarch-test by fixing
Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 1/1
It modernizes the coding style of the crate stdarch-verify by dealing
with Clippy warnings (allows clippy::collapsible_if but review may be
required for later changes).

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 4/4
It modernizes the coding style of the crate stdarch_examples (an example
"connect5") by fixing Clippy warnings (except clippy::manual_range_contains
in which "fixing" the warning will complicate the code).

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 6/6
It modernizes the coding style of the crate intrinsic-test by fixing
Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f69710 2025-05-28)
Number of Fixed Warnings: 36/36
To make the type names to test correct, this commit replaces occurrences
of `rust_prefix` to `c_prefix` where necessary.
It seems it returns true when *no* constraints are found, opposite to
the expected behavior of the function name.

This commit reverses condition as the name suggests.
This commit adds support for `riscv_hwprobe` on the Linux kernel 6.15.
It adds feature detection of 8 extensions (4 of them are new in this).

Existing RISC-V Extensions:

1.  "Zicntr"
2.  "Zihpm"
3.  "Zalrsc"
4.  "Zaamo"

New RISC-V Extensions:

5.  "Zicbom"
6.  "Zfbfmin"
7.  "Zvfbfmin"
8.  "Zvfbfwma"
rust-bors bot added a commit to rust-lang/rust that referenced this pull request Jun 9, 2025
Turn `stdarch` into a Josh subtree

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`

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: `x86_64-msvc-*`
try-job: x86_64-gnu
try-job: x86_64-gnu-aux
rust-bors bot added a commit to rust-lang/rust that referenced this pull request Jun 10, 2025
Turn `stdarch` into a Josh subtree

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`

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: `x86_64-msvc-*`
try-job: x86_64-gnu
try-job: x86_64-gnu-aux
rust-bors bot added a commit to rust-lang/rust that referenced this pull request Jun 16, 2025
Turn `stdarch` into a Josh subtree

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 `1b4d15df12079504942d0a3f1030b2039b8a776c`, 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`

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: `x86_64-msvc-*`
try-job: x86_64-gnu
try-job: x86_64-gnu-aux
@Kobzol Kobzol force-pushed the master branch 3 times, most recently from 2070185 to 84262a3 Compare June 23, 2025 15:31
rust-bors bot added a commit to rust-lang/rust that referenced this pull request Jun 24, 2025
Turn `stdarch` into a Josh subtree

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 `5a7342fc16b208b1b16624e886937ed8509a6506`, 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`

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: `x86_64-msvc-*`
try-job: x86_64-gnu
try-job: x86_64-gnu-aux
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.

7 participants