You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stabilize 28 RISC-V target features (riscv_ratified_v2)
This commit stabilizes RISC-V target features with following constraints:
* Describes a ratified extension.
* Implemented on Rust 1.88.0 or before.
Waiting for three+ version cycles seems sufficient.
* Does not disrupt current rustc's target feature + ABI handling.
It excludes "E" and all floating point-arithmetic extensions.
"Zfinx" family does not involve floating point registers but
not stabilizing for now to avoid possible confusion between
the "F" extension family.
* Not vector-related (including not FP-related ones).
No ABI issues will not occur unless floating point registers are
involved. But for integer-only vector ones, we'll be stabilizing
in another time.
* Supported by the lowest LLVM version supported by rustc.
It excludes the "Zacas" extension, newly supported in LLVM 20
(while the minimum LLVM version supported by rustc is 19).
List of target features to be stabilized:
1. "b"
2. "za64rs"
3. "za128rs"
4. "zaamo"
5. "zabha"
6. "zalrsc"
7. "zama16b"
8. "zawrs"
9. "zca"
10. "zcb"
11. "zcmop"
12. "zic64b"
13. "zicbom"
14. "zicbop"
15. "zicboz"
16. "ziccamoa"
17. "ziccif"
18. "zicclsm"
19. "ziccrse"
20. "zicntr"
21. "zicond"
22. "zicsr"
23. "zifencei"
24. "zihintntl"
25. "zihintpause"
26. "zihpm"
27. "zimop"
28. "ztso"
Of which, 19 of them support runtime detection through `std_detect`.
0 commit comments