@@ -501,16 +501,44 @@ specification. Many specifications are described in the [RISC-V ISA Manual],
501
501
502
502
Feature | Implicitly Enables | Description
503
503
------------|---------------------|-------------------
504
- ` a ` | | [ A] [ rv-a ] --- Atomic instructions
505
- ` c ` | | [ C] [ rv-c ] --- Compressed instructions
504
+ ` a ` | ` zaamo ` , ` zalrsc ` | [ A] [ rv-a ] --- Atomic instructions
505
+ ` b ` | ` zba ` , ` zbc ` , ` zbs ` | [ B] [ rv-b ] --- Bit Manipulation instructions
506
+ ` c ` | ` zca ` | [ C] [ rv-c ] --- Compressed instructions
506
507
` m ` | | [ M] [ rv-m ] --- Integer Multiplication and Division instructions
508
+ ` za64rs ` | ` za128rs ` | [ Za64rs] [ rv-za64rs ] --- Platform Behavior: Naturally aligned Reservation sets with ≦ 64 Bytes
509
+ ` za128rs ` | | [ Za128rs] [ rv-za128rs ] --- Platform Behavior: Naturally aligned Reservation sets with ≦ 128 Bytes
510
+ ` zaamo ` | | [ Zaamo] [ rv-zaamo ] --- Atomic Memory Operation instructions
511
+ ` zabha ` | ` zaamo ` | [ Zabha] [ rv-zabha ] --- Byte and Halfword Atomic Memory Operation instructions
512
+ ` zacas ` | ` zaamo ` | [ Zacas] [ rv-zacas ] --- Atomic Compare-and-Swap (CAS) instructions
513
+ ` zalrsc ` | | [ Zalrsc] [ rv-zalrsc ] --- Load-Reserved/Store-Conditional instructions
514
+ ` 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
515
+ ` zawrs ` | | [ Zawrs] [ rv-zawrs ] --- Wait-on-Reservation-Set instructions
507
516
` zba ` | | [ Zba] [ rv-zba ] --- Address Generation instructions
508
517
` zbb ` | | [ Zbb] [ rv-zbb ] --- Basic bit-manipulation
509
518
` zbc ` | ` zbkc ` | [ Zbc] [ rv-zbc ] --- Carry-less multiplication
510
519
` zbkb ` | | [ Zbkb] [ rv-zbkb ] --- Bit Manipulation Instructions for Cryptography
511
520
` zbkc ` | | [ Zbkc] [ rv-zbkc ] --- Carry-less multiplication for Cryptography
512
521
` zbkx ` | | [ Zbkx] [ rv-zbkx ] --- Crossbar permutations
513
522
` zbs ` | | [ Zbs] [ rv-zbs ] --- Single-bit instructions
523
+ ` zca ` | | [ Zca] [ rv-zca ] --- Compressed instructions: integer part subset
524
+ ` zcb ` | ` zca ` | [ Zcb] [ rv-zcb ] --- Simple Code-size Saving Compressed instructions
525
+ ` zcmop ` | ` zca ` | [ Zcmop] [ rv-zcmop ] --- Compressed May-Be-Operations
526
+ ` zic64b ` | | [ Zic64b] [ rv-zic64b ] --- Platform Behavior: Naturally aligned 64 byte Cache blocks
527
+ ` zicbom ` | | [ Zicbom] [ rv-zicbom ] --- Cache-Block Management instructions
528
+ ` zicbop ` | | [ Zicbop] [ rv-zicbop ] --- Cache-Block Prefetch Hint instructions
529
+ ` zicboz ` | | [ Zicboz] [ rv-zicboz ] --- Cache-Block Zero instruction
530
+ ` ziccamoa ` | | [ Ziccamoa] [ rv-ziccamoa ] --- Platform Behavior: Cacheable and Coherent Main memory supports all basic atomic operations
531
+ ` 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
532
+ ` zicclsm ` | | [ Zicclsm] [ rv-zicclsm ] --- Platform Behavior: Cacheable and Coherent Main memory supports misaligned load/store accesses
533
+ ` ziccrse ` | | [ Ziccrse] [ rv-ziccrse ] --- Platform Behavior: Cacheable and Coherent Main memory guarantees eventual success on LR/SC sequences
534
+ ` zicntr ` | ` zicsr ` | [ Zicntr] [ rv-zicntr ] --- Base Counters and Timers
535
+ ` zicond ` | | [ Zicond] [ rv-zicond ] --- Integer Conditional Operation instructions
536
+ ` zicsr ` | | [ Zicsr] [ rv-zicsr ] --- Control and Status Register (CSR) instructions
537
+ ` zifencei ` | | [ Zifencei] [ rv-zifencei ] --- Instruction-Fetch Fence instruction
538
+ ` zihintntl ` | | [ Zihintntl] [ rv-zihintntl ] --- Non-Temporal Locality Hint instructions
539
+ ` zihintpause ` | | [ Zihintpause] [ rv-zihintpause ] --- Pause Hint instruction
540
+ ` zihpm ` | ` zicsr ` | [ Zihpm] [ rv-zihpm ] --- Hardware Performance Counters
541
+ ` zimop ` | | [ Zimop] [ rv-zimop ] --- May-Be-Operations
514
542
` zk ` | ` zkn ` , ` zkr ` , ` zks ` , ` zkt ` , ` zbkb ` , ` zbkc ` , ` zkbx ` | [ Zk] [ rv-zk ] --- Scalar Cryptography
515
543
` zkn ` | ` zknd ` , ` zkne ` , ` zknh ` , ` zbkb ` , ` zbkc ` , ` zkbx ` | [ Zkn] [ rv-zkn ] --- NIST Algorithm suite extension
516
544
` zknd ` | | [ Zknd] [ rv-zknd ] --- NIST Suite: AES Decryption
@@ -521,19 +549,48 @@ Feature | Implicitly Enables | Description
521
549
` zksed ` | | [ Zksed] [ rv-zksed ] --- ShangMi Suite: SM4 Block Cipher Instructions
522
550
` zksh ` | | [ Zksh] [ rv-zksh ] --- ShangMi Suite: SM3 Hash Function Instructions
523
551
` zkt ` | | [ Zkt] [ rv-zkt ] --- Data Independent Execution Latency Subset
552
+ ` ztso ` | | [ Ztso] [ rv-ztso ] --- Total Store Ordering
524
553
525
554
<!-- Keep links near each table to make it easier to move and update. -->
526
555
527
556
[ rv-a ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
557
+ [ rv-b ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
528
558
[ rv-c ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/c-st-ext.adoc
529
559
[ rv-m ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/m-st-ext.adoc
560
+ [ rv-za64rs ] : https://github.com/riscv/riscv-profiles/blob/rva23-rvb23-ratified/src/rva23-profile.adoc
561
+ [ rv-za128rs ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
562
+ [ rv-zaamo ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
563
+ [ rv-zabha ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zabha.adoc
564
+ [ rv-zacas ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zacas.adoc
565
+ [ rv-zalrsc ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
566
+ [ rv-zama16b ] : https://github.com/riscv/riscv-profiles/blob/rva23-rvb23-ratified/src/rva23-profile.adoc
567
+ [ rv-zawrs ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zawrs.adoc
530
568
[ rv-zba ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
531
569
[ rv-zbb ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
532
570
[ rv-zbc ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
533
571
[ rv-zbkb ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
534
572
[ rv-zbkc ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
535
573
[ rv-zbkx ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
536
574
[ rv-zbs ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
575
+ [ rv-zca ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zc.adoc
576
+ [ rv-zcb ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zc.adoc
577
+ [ rv-zcmop ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zimop.adoc
578
+ [ rv-zic64b ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
579
+ [ rv-zicbom ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
580
+ [ rv-zicbop ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
581
+ [ rv-zicboz ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/cmo.adoc
582
+ [ rv-ziccamoa ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
583
+ [ rv-ziccif ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
584
+ [ rv-zicclsm ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
585
+ [ rv-ziccrse ] : https://github.com/riscv/riscv-profiles/blob/v1.0/profiles.adoc
586
+ [ rv-zicntr ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/counters.adoc
587
+ [ rv-zicond ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zicond.adoc
588
+ [ rv-zicsr ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zicsr.adoc
589
+ [ rv-zifencei ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zifencei.adoc
590
+ [ rv-zihintntl ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zihintntl.adoc
591
+ [ rv-zihintpause ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zihintpause.adoc
592
+ [ rv-zihpm ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/counters.adoc
593
+ [ rv-zimop ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/zimop.adoc
537
594
[ rv-zk ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
538
595
[ rv-zkn ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
539
596
[ rv-zkne ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
@@ -544,6 +601,7 @@ Feature | Implicitly Enables | Description
544
601
[ rv-zksed ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
545
602
[ rv-zksh ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
546
603
[ rv-zkt ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
604
+ [ rv-ztso ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/ztso-st-ext.adoc
547
605
548
606
r[ attributes.codegen.target_feature.wasm]
549
607
#### ` wasm32 ` or ` wasm64 `
0 commit comments