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)

...

Extensions and features in the table below are ratified, but not published in a consolidated RISC-V ISA specification document.

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

Zihintpauseupstream
not supported
Mailpatchupstream


upstream



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

upstream

upstream
(but v0.7.1)staging
rvv-next branch

upstream
(but v0.7.1)
upstream
upstream
(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, Zfhminupstreamupstream
staging branch
upstream


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: Svinvalupstream
staging branch
upstreamupstream




not supported

NAPOT pages: Svnapotupstreamupstream
staging branch
upstream




not supported

Page-based memory types: Svpbmtupstream
staging branchnot supportedCode Size Reduction: Zceedev branchdev branchdev branchdev branchdev branchnot supportedPacked SIMD:  Zpn, Zpsfoperand, Zprvsfextraupstream(

v0.9.2)

PRPRnot supportedResumable Non-maskable Interrupts: Smrnminot supported
upstreamupstream




not supportedupstream (5.19)
Core-local Interrupt Controller: CLINTupstreamupstream





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

Zmmulupstream
not supportedPatchwork
upstreamupstream
Mailpatch
Mailpatch

patch
n/a
Pointer masking: Zjpmnot supported


Specifications that are at least frozen

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

ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

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

dev branch
not supported

Specifications that are at least stable

...

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