Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a35f1c8

Browse files
committed
RISC-V: Add 27 extensions to be stabilized
Because unstable "B" (incorrectly named as `zb`) was there, this commit adds 28 minus one ("B") new extensions to be stabilized. This commit directly corresponds to rust-lang/rust#145948. References: 1. RISC-V Instruction Set Manual (version 20250508): <https://github.com/riscv/riscv-isa-manual/tree/20250508> 2. RISC-V Profiles (version 1.0 - RVA23 is not stabilized at the time): <https://github.com/riscv/riscv-profiles/tree/v1.0> 3. RISC-V Profiles (RVA23/RVB23-ratified version): <https://github.com/riscv/riscv-profiles/tree/rva23-rvb23-ratified>
1 parent b55e8aa commit a35f1c8

File tree

1 file changed

+56
-2
lines changed

1 file changed

+56
-2
lines changed

‎src/attributes/codegen.md

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,17 +427,43 @@ in another manual hosted on the [RISC-V GitHub Account].
427427

428428
Feature | Implicitly Enables | Description
429429
------------|---------------------|-------------------
430-
`a` | | [A][rv-a] --- Atomic instructions
430+
`a` | `zaamo`, `zalrsc` | [A][rv-a] --- Atomic instructions
431431
`b` | `zba`, `zbc`, `zbs` | [B][rv-b] --- Bit Manipulation instructions
432-
`c` | | [C][rv-c] --- Compressed instructions
432+
`c` | `zca` | [C][rv-c] --- Compressed instructions
433433
`m` | | [M][rv-m] --- Integer Multiplication and Division instructions
434+
`za64rs` | `za128rs` | [Za64rs][rv-za64rs] --- Platform Behavior: Naturally aligned Reservation sets with ≦ 64 Bytes
435+
`za128rs` | | [Za128rs][rv-za128rs] --- Platform Behavior: Naturally aligned Reservation sets with ≦ 128 Bytes
436+
`zaamo` | | [Zaamo][rv-zaamo] --- Atomic Memory Operation instructions
437+
`zabha` | `zaamo` | [Zabha][rv-zabha] --- Byte and Halfword Atomic Memory Operation instructions
438+
`zalrsc` | | [Zalrsc][rv-zalrsc] --- Load-Reserved/Store-Conditional instructions
439+
`zama16b` | | [Zama16b][rv-zama16b] --- Platform Behavior: Misaligned loads, stores, and AMOs to main memory regions that do not cross a naturally aligned 16-byte boundary are atomic
440+
`zawrs` | | [Zawrs][rv-zawrs] --- Wait-on-Reservation-Set instructions
434441
`zba` | | [Zba][rv-zba] --- Address Generation instructions
435442
`zbb` | | [Zbb][rv-zbb] --- Basic bit-manipulation
436443
`zbc` | `zbkc` | [Zbc][rv-zbc] --- Carry-less multiplication
437444
`zbkb` | | [Zbkb][rv-zbkb] --- Bit Manipulation Instructions for Cryptography
438445
`zbkc` | | [Zbkc][rv-zbkc] --- Carry-less multiplication for Cryptography
439446
`zbkx` | | [Zbkx][rv-zbkx] --- Crossbar permutations
440447
`zbs` | | [Zbs][rv-zbs] --- Single-bit instructions
448+
`zca` | | [Zca][rv-zca] --- Compressed instructions: integer part subset
449+
`zcb` | `zca` | [Zcb][rv-zcb] --- Simple Code-size Saving Compressed instructions
450+
`zcmop` | `zca` | [Zcmop][rv-zcmop] --- Compressed May-Be-Operations
451+
`zic64b` | | [Zic64b][rv-zic64b] --- Platform Behavior: Naturally aligned 64 byte Cache blocks
452+
`zicbom` | | [Zicbom][rv-zicbom] --- Cache-Block Management instructions
453+
`zicbop` | | [Zicbop][rv-zicbop] --- Cache-Block Prefetch Hint instructions
454+
`zicboz` | | [Zicboz][rv-zicboz] --- Cache-Block Zero instruction
455+
`ziccamoa` | | [Ziccamoa][rv-ziccamoa] --- Platform Behavior: Cacheable and Coherent Main memory supports all basic atomic operations
456+
`ziccif` | | [Ziccif][rv-ziccif] --- Platform Behavior: Cacheable and Coherent Main memory supports instruction fetch and fetches of naturally aligned power-of-2 sizes up to `min(ILEN,XLEN)` are atomic
457+
`zicclsm` | | [Zicclsm][rv-zicclsm] --- Platform Behavior: Cacheable and Coherent Main memory supports misaligned load/store accesses
458+
`ziccrse` | | [Ziccrse][rv-ziccrse] --- Platform Behavior: Cacheable and Coherent Main memory guarantees eventual success on LR/SC sequences
459+
`zicntr` | `zicsr` | [Zicntr][rv-zicntr] --- Base Counters and Timers
460+
`zicond` | | [Zicond][rv-zicond] --- Integer Conditional Operation instructions
461+
`zicsr` | | [Zicsr][rv-zicsr] --- Control and Status Register (CSR) instructions
462+
`zifencei` | | [Zifencei][rv-zifencei] --- Instruction-Fetch Fence instruction
463+
`zihintntl` | | [Zihintntl][rv-zihintntl] --- Non-Temporal Locality Hint instructions
464+
`zihintpause` | | [Zihintpause][rv-zihintpause] --- Pause Hint instruction
465+
`zihpm` | `zicsr` | [Zihpm][rv-zihpm] --- Hardware Performance Counters
466+
`zimop` | | [Zimop][rv-zimop] --- May-Be-Operations
441467
`zk` | `zkn`, `zkr`, `zks`, `zkt`, `zbkb`, `zbkc`, `zkbx` | [Zk][rv-zk] --- Scalar Cryptography
442468
`zkn` | `zknd`, `zkne`, `zknh`, `zbkb`, `zbkc`, `zkbx` | [Zkn][rv-zkn] --- NIST Algorithm suite extension
443469
`zknd` | | [Zknd][rv-zknd] --- NIST Suite: AES Decryption
@@ -448,20 +474,47 @@ Feature | Implicitly Enables | Description
448474
`zksed` | | [Zksed][rv-zksed] --- ShangMi Suite: SM4 Block Cipher Instructions
449475
`zksh` | | [Zksh][rv-zksh] --- ShangMi Suite: SM3 Hash Function Instructions
450476
`zkt` | | [Zkt][rv-zkt] --- Data Independent Execution Latency Subset
477+
`ztso` | | [Ztso][rv-ztso] --- Total Store Ordering
451478

452479
<!-- Keep links near each table to make it easier to move and update. -->
453480

454481
[rv-a]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
455482
[rv-b]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
456483
[rv-c]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/c-st-ext.adoc
457484
[rv-m]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/m-st-ext.adoc
485+
[rv-za64rs]: https://github.com/riscv/riscv-profiles/blob/rva23-rvb23-ratified/src/rva23-profile.adoc
486+
[rv-za128rs]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
487+
[rv-zaamo]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
488+
[rv-zabha]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zabha.adoc
489+
[rv-zalrsc]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
490+
[rv-zama16b]: https://github.com/riscv/riscv-profiles/blob/rva23-rvb23-ratified/src/rva23-profile.adoc
491+
[rv-zawrs]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zawrs.adoc
458492
[rv-zba]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
459493
[rv-zbb]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
460494
[rv-zbc]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
461495
[rv-zbkb]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
462496
[rv-zbkc]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
463497
[rv-zbkx]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
464498
[rv-zbs]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
499+
[rv-zca]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zc.adoc
500+
[rv-zcb]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zc.adoc
501+
[rv-zcmop]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zimop.adoc
502+
[rv-zic64b]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
503+
[rv-zicbom]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
504+
[rv-zicbop]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
505+
[rv-zicboz]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
506+
[rv-ziccamoa]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
507+
[rv-ziccif]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
508+
[rv-zicclsm]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
509+
[rv-ziccrse]: https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
510+
[rv-zicntr]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/counters.adoc
511+
[rv-zicond]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zicond.adoc
512+
[rv-zicsr]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zicsr.adoc
513+
[rv-zifencei]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zifencei.adoc
514+
[rv-zihintntl]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zihintntl.adoc
515+
[rv-zihintpause]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zihintpause.adoc
516+
[rv-zihpm]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/counters.adoc
517+
[rv-zimop]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zimop.adoc
465518
[rv-zk]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
466519
[rv-zkn]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
467520
[rv-zkne]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
@@ -472,6 +525,7 @@ Feature | Implicitly Enables | Description
472525
[rv-zksed]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
473526
[rv-zksh]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
474527
[rv-zkt]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
528+
[rv-ztso]: https://github.com/riscv/riscv-isa-manual/blob/20250508/src/ztso-st-ext.adoc
475529

476530
r[attributes.codegen.target_feature.wasm]
477531
#### `wasm32` or `wasm64`

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /