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

Table description

...

Zifencei v2.0
ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

RV32Iupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamnot supportedupstreamupstream
RV64Iupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstream
Big-endian supportupstream

upstream

not supported
not supported
upstream
M (Multiplication and Division) v2.0upstreamupstreamupstreamupstreamn/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) v2.0upstreamupstreamupstreamupstreamn/an/aupstream
upstreamupstream
Zifenceiupstreamupstreamupstreamupstream

not supported
upstreamupstream
Machine ISA: CSRsupstreamupstreamupstream

Unpublished ratified extensions

...

GDB






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

...

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

V (vector): Zvamo, Zvlsseg, Zvediv, Zvqmac,

ZihintpauseupstreamMailpatchupstream


upstream



Vector: Zve32x, Zve32f, Zve64x, Zve64f, Zve64d,
Zvfh, Zve
Zvl*b, Vupstream

upstream

n

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

upstreamupstream (experimental,FP16 ABI not settled)
B (bitmanip)
not supported

Bitmanip: Zba, Zbb, Zbc, Zbsupstreamupstream

upstream

PRdev branch
upstreamupstream (experimental)not used

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

Mailpatch
(Zfinx,Zdinx)




MC upstream
not supported

Half Width FP: Zfh, Zfhminupstreamupstreamupstream


upstream
not supported

ePMP: Smepmpupstreamupstream(but 0.9.3)upstream


PR
not supported

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



upstream


not used

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

upstreamupstream




not supported

CMO base: Zicbom, Zicbop, ZicbozupstreamMailpatchupstream


PR,PR
not supporteddma-ops upstream (6.0)
Hypervisor: (H)upstreamupstreamupstreamn/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: Svinvalupstreamupstreamupstream




not supported

NAPOT pages: Svnapotupstreamupstreamupstream




not supported

Page-based memory types: Svpbmtupstreamupstreamupstream




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





upstreamupstream (clocksource)
ZmmulupstreamupstreamupstreamMailpatch

patch
n/a

Specifications that are at least frozen

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

, Zbe, Zbf, Zbk, Zbp, Zbr, Zbs
ExtensionSpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux kernel

GDB

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

dev branch
not supportedn

Mailpatch (Zba, Zbb, Zbs, Zbp)

PRdev branchupstream (experimental)FP in INT regs: Zfinxdev: PLCTdev: PLCT

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

Gaps

To-do list

This is a temporary subsection that will disappear soon.

V vector) v0.10, Vector Extension Intrinsics, Vector Calling Conventionn
Packed SIMD:  Zpn, Zpsfoperand, Zbpbo, Pupstream(
ExtensionRatified?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinuxGDB
Zicsr v2.0yupstreamupstreamupstreamnot supportedupstreamupstreamCounters v2.0nupstreamupstreamn/an/an/aupstreamupstreamupstreamMachine ISA v1.11 (CSRs, ECALL, EBREAK, MRET/SRET/URET, WFI, Reset, NMIs, PMAs, PMP)yupstreamupstreamn/an/aSupervisor ISA v1.11 (CSRs, SFENCE.VMA, Sv32/Sv39/Sv48)yupstreamupstreamn/aK (scalar crypto)nPRPRMC layer PR LLVM Intrinsic PRP (SIMD) v0.9.4nupstream (but

v0.9.2

!

)

Mailpatch (v0.9.4)PRPR

PR

(

nupstreamupstream (but v0.7.1)upstream (experimental,FP16 ABI not settled)Ztso v0.1nnot supportedZam v0.1nnot supportedH (hypervisor) v0.6.1nupstreamupstreamdev branchn/an/an/aupstreamKVM patches on LKMLZmmul v0.1 (subset of M)J (JIT/Java)TEESnavpotnZfinxnstaging branchstaging branchstaging branchstaging-branchPRZ*inx (with new ABIs: ILP32X/LP64X)dev: PLCTdev: PLCTZfhupstreamSV57Zcedev: PLCTdev: PLCTdev branchCMO / Zicmobase

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