Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove Zjpm work since the latest Zjpm proposal is private and significantly changed

...

Overview

  • This page only tracks ratified extensions and features that are specified by groups (TGs, HCs) of RISC-V International.
  • The extensions and features are grouped by their specification's state (published, ratified, frozen).
  • Published (official) specifications can be found here: https://riscv.org/technical/specifications/
  • The main repository of the ISA specifications is: https://github.com/riscv/riscv-isa-manual
  • The following wiki page lists all recently ratified extensions, that are not merged into the ISA specification yet: Ratified Extensions
  • The Specification Status lists lists the specifications that are frozen and or ready for ratification

Table description

...

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

RV32Iupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamnot supportedupstreamupstream
RV64Iupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstream
Big-endian supportupstream

upstream

not supported
not supported
upstream
M (Multiplication and Division)upstreamupstreamupstreamupstreamn/an/aupstreamn/an/an/aupstream
A (Atomic)upstreamupstreamupstreamupstreamn/an/aupstreamupstream (atomics)upstream (atomics)upstream (atomics)upstream
F (SP float)upstreamupstreamupstreamupstreamupstreamupstreamupstream
upstreamupstreamupstream
D (DP float)upstreamupstreamupstreamupstreamupstreamupstreamupstream
upstreamupstreamupstream
Q (QP float)

upstream


not supported
not supported
upstream
RVWMOupstream (emulation is seq. consistent)upstream (emulation is seq. consistent)n/an/an/an/an/aupstream (barriers and locks)upstream (barriers and locks)upstream (barriers and locks), but needs optimizationupstream
C (compressed)upstreamupstreamupstreamupstreamn/an/aupstream
upstreamupstream
Zifenceiupstreamupstreamupstreamupstream

not supported
upstreamupstream
Machine ISA: CSRsupstreamupstreamupstream




n/a

Machine ISA: ECALL, EBREAKupstreamupstream





upstreamupstream
Machine ISA: MRET/SRET/URETupstreamupstream





n/a

Machine ISA: WFIupstreamupstream





upstreamupstream
Machine ISA: PMP







n/a

Supervisor ISA: CSRsupstreamupstream





upstream

Supervisor ISA: SFENCE.VMAupstreamupstream





upstreamupstream
Supervisor ISA: Sv32, Sv39, Sv48upstreamupstream





Sv39 upstreamupstream (sv39)

Unpublished ratified extensions

...

GDB

...

Specifications that are at least frozen

Extensions and features in the table below are either frozen or ready-for-ratificationratified, but not published in a consolidated RISC-V ISA specification document.

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

ZihintpauseupstreamMailpatchupstream


upstream



Vector:
 Zvamo, Zvlsseg, Zvediv, Zvqmac,
Zve32x, Zve32f, Zve64x, Zve64f, Zve64d,
Zvfh, Zve
Zvl*b, Vupstream

upstream

upstream
(but v0.7.1)

staging branch

rvv-next branch
upstream (but v0.7.1)


upstreamupstream (experimental,FP16 ABI not settled)not supported

Bitmanip: Zba, Zbb, Zbc, Zbsupstreamupstream
Mailpatch (Zba, Zbb, Zbs, Zbp)

upstream

PRdev branch
upstreamupstream (experimental)not used

FP in INT regs: Zfinx
staging branch
, Zdinx, Zhinx, ZhinxminPR
upstream
staging branch
upstream
(Zfinx, Zdinx, Zhinx, Zhinxmin and unratified Zqinx)

Mailpatch
(Zfinx,Zdinx)

PR




MC upstream
not supported

Half Width FP: Zfh, Zfhminupstream
staging branch
upstreamupstream


upstream
not supported

ePMP: Smepmpupstreamupstream(but 0.9.3)upstream


PR
not supported

Scalar crypto:
 Zbkb
Zbkb, Zbkc, Zbkx, Zknd, Zkne, Zknh, Zksed, Zksh, Zkr, Zkt, Zkn, Zks,
Zkt,
Zk
, Zkr
upstream
staging branch
upstreamupstreamupstream(only minimal support and wait c-api merge)

MC layer PR LLVM Intrinsic PR

clang intrinsic




upstream


not used

Priv 1.12: 
Sm1-12, Ss1-12, Sv57

upstreamupstream




not supported

CMO base: Zicbom, Zicbop, Zicboz
staging branch
upstreamMailpatchupstream


PR,PR
not supporteddma-ops upstream (6.0)
Hypervisor: (H)upstreamupstream
dev branch
upstreamn/an/an/a
upstreamnot supportedupstream (5.16)
State Enable: SmstateenupstreamMailpatchupstream




not supported

Time compare: Sstc
Mailpatchupstream




not supported

Counter overflow and filtering: SscofmpfPRMailpatchupstream




not supported

Fast TLP invalidation: Svinvalupstreamupstream
staging branch
upstream




not supported

NAPOT pages: Svnapotupstream
staging branch
upstreamupstream




not supported

Page-based memory types: Svpbmtupstream
staging branchnot supportedCode Size Reduction: Zceedev branchdev branchdev branchdev branch
upstreamupstream
dev branch





not supported
Packed SIMD:  Zpn, Zpsfoperand, Zprvsfextra
upstream (

v0.9.2)

PRPRnot supportedResumable Non-maskable Interrupts: Smrnminot supported
5.19)
Core-local Interrupt Controller: CLINTupstreamupstream





upstreamupstream (clocksource)
Advanced Core-local Interrupt Controller: ACLINTZmmul

Zmmulupstream
not supportedPatchwork
upstreamupstreamMailpatch
Mailpatch


patch
n/a


Specifications that are at least frozen

Extensions and features in the table below are either frozen or ready-for-ratification.

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

Code Size Reduction: Zca, Zcf, Zcd, Zcb, Zcmp, Zcmtdev branchdev branchdev branchdev branch

dev branch
Pointer masking: Zjpm

not supported

Specifications that are at least stable

Note, that this section only lists specifications that are planned to be released in the near future, but are not frozen yet.

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

psABI: Standard ABIs: ILP32, ILP32F, ILP32D, LP64, LP64F, LP64D, LP64Qn/an/aupstreamilp32, ilp32f, ilp32d, lp64, lp64f, lp64dilp32, ilp32d, lp64, lp64dilp32, ilp32f, ilp32d, lp64, lp64f, lp64dilp32, ilp32d, lp64, lp64dn/alp64, lp64dn/a

...

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

Embedded ABI: ILP32E, LP64En/an/aupstreamupstreamnot supportedupstreamnot supportedn/an/an/anot supported
Packed SIMD:  Zpn, Zpsfoperand, Zbpbo, Pupstream(

v0.9.2)

Mailpatch

PR (2.36-based)

dev branch (master-based)

PR



not supported

Pointer masking: Zjpm







not supported

Resumable Non-maskable Interrupts: Smrnmi

dev branch




not supported

Advanced Core-local Interrupt Controller: ACLINT
upstream





not supportedPatchwork

Gaps

  • Vector Extension Intrinsics (specification exists, but not frozen)
  • Vector Calling Convention (specification exists, but not frozen)
  • Scalar Crypto Intrinsics