Skip to content

Conversation

a4lg
Copy link
Contributor

@a4lg a4lg commented Aug 15, 2025

This is practically a revert of a revert, making the commit e907456b2e10622ccd854a3bba8d02ce170b5dbb on stdarch come around again with minor fixes, enhancements and adjustments.

An excerpt from the original commit message follows:

Since there's no architectural feature detection on RISC-V (unlike CPUID on x86 architectures and some system registers on Arm/AArch64), runtime feature detection entirely depends on the platform-specific facility.

As a result, availability of each feature heavily depends on the platform and its version.

To help users make a decision for feature checking on a RISC-V system, this commit adds a platform guide with minimum supported platform versions.

History

This is originally rust-lang/stdarch#1779 which is approved and an attempt to merge this was performed... but blocked by HTML errors (generated by rustdoc) later fixed by #140434 (cf. #140389; so at that time I reverted the original PR as rust-lang/stdarch#1792 and non-table parts are partially restored as rust-lang/stdarch#1797).

Since #140434 is merged now and the std_detect crate is now under the main Rust repository, I'm going to fully restore the intent of rust-lang/stdarch#1779 (to provide useful yet complex information for std::arch::is_riscv_feature_detected! users).

Changes from the Original (rust-lang/stdarch#1779)

Note (CI)

I don't have full knowledge about Rust's CI process and we may need to wait for the next beta bump.


r? @Amanieu
@rustbot label +O-riscv

This is practically a revert of a revert, making the
commit e907456b2e10622ccd854a3bba8d02ce170b5dbb on `stdarch` come around
again with minor fixes, enhancements and adjustments.

An excerpt from the original commit message follows:

Since there's no architectural feature detection on RISC-V (unlike `CPUID`
on x86 architectures and some system registers on Arm/AArch64), runtime
feature detection entirely depends on the platform-specific facility.

As a result, availability of each feature heavily depends on the platform
and its version.

To help users make a decision for feature checking on a RISC-V system, this
commit adds a platform guide with minimum supported platform versions.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. O-riscv Target: RISC-V architecture labels Aug 15, 2025
@a4lg
Copy link
Contributor Author

a4lg commented Aug 15, 2025

Seems jobs *-gnu-llvm* has succeeded (x86_64-gnu-llvm-19 failed in #140389). It's a good sign.

@Amanieu
Copy link
Member

Amanieu commented Aug 20, 2025

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Aug 20, 2025

📌 Commit bec399e has been approved by Amanieu

It is now in the queue for this repository.

@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 Aug 20, 2025
bors added a commit that referenced this pull request Aug 20, 2025
Rollup of 13 pull requests

Successful merges:

 - #139357 (Fix parameter order for `_by()` variants of `min` / `max`/ `minmax` in `std::cmp`)
 - #140314 (Rustdoc: typecheck scrape-examples.js)
 - #140794 (mention lint group in default level lint note)
 - #145006 (Clarify EOF handling for `BufRead::skip_until`)
 - #145252 (Demote x86_64-apple-darwin to Tier 2 with host tools)
 - #145359 (Fix bug where `rustdoc-js` tester would not pick the right `search.js` file if there is more than one)
 - #145381 (Implement feature `int_lowest_highest_one` for integer and NonZero types)
 - #145417 (std_detect: RISC-V platform guide documentation)
 - #145531 (Add runtime detection for APX-F and AVX10)
 - #145619 (`std_detect`: Use `rustc-std-workspace-*` to pull in `compiler-builtins`)
 - #145622 (Remove the std workspace patch for `compiler-builtins`)
 - #145623 (Pretty print the name of an future from calling async closure)
 - #145626 (add a fallback implementation for the `prefetch_*` intrinsics )

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 9261fcf into rust-lang:master Aug 20, 2025
10 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 20, 2025
rust-timer added a commit that referenced this pull request Aug 20, 2025
Rollup merge of #145417 - a4lg:riscv-arch-platform-guide-ch2, r=Amanieu

std_detect: RISC-V platform guide documentation

This is practically a revert of a revert, making the commit e907456b2e10622ccd854a3bba8d02ce170b5dbb on `stdarch` come around again with minor fixes, enhancements and adjustments.

An excerpt from the original commit message follows:

Since there's no architectural feature detection on RISC-V (unlike `CPUID` on x86 architectures and some system registers on Arm/AArch64), runtime feature detection entirely depends on the platform-specific facility.

As a result, availability of each feature heavily depends on the platform and its version.

To help users make a decision for feature checking on a RISC-V system, this commit adds a platform guide with minimum supported platform versions.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Aug 21, 2025
Rollup of 13 pull requests

Successful merges:

 - rust-lang/rust#139357 (Fix parameter order for `_by()` variants of `min` / `max`/ `minmax` in `std::cmp`)
 - rust-lang/rust#140314 (Rustdoc: typecheck scrape-examples.js)
 - rust-lang/rust#140794 (mention lint group in default level lint note)
 - rust-lang/rust#145006 (Clarify EOF handling for `BufRead::skip_until`)
 - rust-lang/rust#145252 (Demote x86_64-apple-darwin to Tier 2 with host tools)
 - rust-lang/rust#145359 (Fix bug where `rustdoc-js` tester would not pick the right `search.js` file if there is more than one)
 - rust-lang/rust#145381 (Implement feature `int_lowest_highest_one` for integer and NonZero types)
 - rust-lang/rust#145417 (std_detect: RISC-V platform guide documentation)
 - rust-lang/rust#145531 (Add runtime detection for APX-F and AVX10)
 - rust-lang/rust#145619 (`std_detect`: Use `rustc-std-workspace-*` to pull in `compiler-builtins`)
 - rust-lang/rust#145622 (Remove the std workspace patch for `compiler-builtins`)
 - rust-lang/rust#145623 (Pretty print the name of an future from calling async closure)
 - rust-lang/rust#145626 (add a fallback implementation for the `prefetch_*` intrinsics )

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Aug 26, 2025
…, r=Amanieu

std_detect: RISC-V platform guide documentation

This is practically a revert of a revert, making the commit e907456b2e10622ccd854a3bba8d02ce170b5dbb on `stdarch` come around again with minor fixes, enhancements and adjustments.

An excerpt from the original commit message follows:

Since there's no architectural feature detection on RISC-V (unlike `CPUID` on x86 architectures and some system registers on Arm/AArch64), runtime feature detection entirely depends on the platform-specific facility.

As a result, availability of each feature heavily depends on the platform and its version.

To help users make a decision for feature checking on a RISC-V system, this commit adds a platform guide with minimum supported platform versions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-riscv Target: RISC-V architecture S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.

4 participants