@@ -427,17 +427,43 @@ in another manual hosted on the [RISC-V GitHub Account].
427
427
428
428
Feature | Implicitly Enables | Description
429
429
------------|---------------------|-------------------
430
- ` a ` | | [ A] [ rv-a ] --- Atomic instructions
430
+ ` a ` | ` zaamo ` , ` zalrsc ` | [ A] [ rv-a ] --- Atomic instructions
431
431
` 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
433
433
` 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
434
441
` zba ` | | [ Zba] [ rv-zba ] --- Address Generation instructions
435
442
` zbb ` | | [ Zbb] [ rv-zbb ] --- Basic bit-manipulation
436
443
` zbc ` | ` zbkc ` | [ Zbc] [ rv-zbc ] --- Carry-less multiplication
437
444
` zbkb ` | | [ Zbkb] [ rv-zbkb ] --- Bit Manipulation Instructions for Cryptography
438
445
` zbkc ` | | [ Zbkc] [ rv-zbkc ] --- Carry-less multiplication for Cryptography
439
446
` zbkx ` | | [ Zbkx] [ rv-zbkx ] --- Crossbar permutations
440
447
` zbs ` | | [ Zbs] [ rv-zbs ] --- Single-bit instructions
448
+ ` zca ` | | [ Zca] [ rv-zca ] --- Compressed instructions: integer part subset
449
+ ` zcb ` | ` zca ` | [ Zca] [ rv-zca ] --- 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
441
467
` zk ` | ` zkn ` , ` zkr ` , ` zks ` , ` zkt ` , ` zbkb ` , ` zbkc ` , ` zkbx ` | [ Zk] [ rv-zk ] --- Scalar Cryptography
442
468
` zkn ` | ` zknd ` , ` zkne ` , ` zknh ` , ` zbkb ` , ` zbkc ` , ` zkbx ` | [ Zkn] [ rv-zkn ] --- NIST Algorithm suite extension
443
469
` zknd ` | | [ Zknd] [ rv-zknd ] --- NIST Suite: AES Decryption
@@ -448,20 +474,47 @@ Feature | Implicitly Enables | Description
448
474
` zksed ` | | [ Zksed] [ rv-zksed ] --- ShangMi Suite: SM4 Block Cipher Instructions
449
475
` zksh ` | | [ Zksh] [ rv-zksh ] --- ShangMi Suite: SM3 Hash Function Instructions
450
476
` zkt ` | | [ Zkt] [ rv-zkt ] --- Data Independent Execution Latency Subset
477
+ ` ztso ` | | [ Ztso] [ rv-ztso ] --- Total Store Ordering
451
478
452
479
<!-- Keep links near each table to make it easier to move and update. -->
453
480
454
481
[ rv-a ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/a-st-ext.adoc
455
482
[ rv-b ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
456
483
[ rv-c ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/c-st-ext.adoc
457
484
[ 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
458
492
[ rv-zba ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
459
493
[ rv-zbb ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
460
494
[ rv-zbc ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
461
495
[ rv-zbkb ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
462
496
[ rv-zbkc ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
463
497
[ rv-zbkx ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/b-st-ext.adoc
464
498
[ 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
465
518
[ rv-zk ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
466
519
[ rv-zkn ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
467
520
[ rv-zkne ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
@@ -472,6 +525,7 @@ Feature | Implicitly Enables | Description
472
525
[ rv-zksed ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
473
526
[ rv-zksh ] : https://github.com/riscv/riscv-isa-manual/blob/20250508/src/scalar-crypto.adoc
474
527
[ 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
475
529
476
530
r[ attributes.codegen.target_feature.wasm]
477
531
#### ` wasm32 ` or ` wasm64 `
0 commit comments