Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page gives an overview of the extension and feature support in the RISC-V SW ecosystem.

Overview

Certain extensions are generated by individual TGs.

An overview of the current status of unratified extensions can be found here: Architecture Review

...

  • The On Deck Dashboards lists the specifications that are frozen and ready for ratification

Published specifications (20191213)

The table below lists the status of the extensions and features of above listed published extensions.


ExtensionRatified?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinux

GDB

Unpriv Spec 20191213

RV32Iyupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamnot supportedupstream
Unpriv Spec 20191213
upstream
RV64Iyupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstream
Unpriv Spec 20191213
upstream
Big-endian supportyupstream

upstream

not supported
Unpriv Spec 20191213



upstream
M (Multiplication and Division) v2.0yupstreamupstreamupstreamupstreamn/an/aupstreamn/an/an/a
Unpriv Spec 20191213
upstream
A (Atomic)yupstreamupstreamupstreamupstreamn/an/aupstreamupstream (atomics)upstream (atomics)upstream (atomics)
Unpriv Spec 20191213
upstream
F (SP float)yupstreamupstream



upstream
Unpriv Spec 20191213



upstream
D (DP float)yupstreamupstream



upstream
Unpriv Spec 20191213



upstream
Q (QP float)y

upstream


not supported
Unpriv Spec 20191213



upstream
RVWMOyupstream (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


psABIUnpriv Spec 20191213
ExtensionRatified?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinuxGDB
RV32Iyupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamnot supportedupstream
RV64Iyupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstream
Big-endian supportyupstream

upstream

not supported



M (Multiplication and Division) v2.0yupstreamupstreamupstreamupstreamn/an/aupstreamn/an/an/a
A (Atomic)yupstreamupstreamupstreamupstreamn/an/aupstreamupstream (atomics)upstream (atomics)upstream (atomics)
F (SP float)yupstreamupstream



upstream



D (DP float)yupstreamupstream



upstream



Q (QP float)y

upstream


not supported



RVWMOyupstream (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 optimization
ABIs (ILP32, ILP32E, ILP32F, ILP32D, LP64, LP64f, LP64D, LP64Q)


ilp32, ilp32f, ilp32d, ilp32q, ilp32e, lp64, lp64f, lp64d, lp64qilp32, ilp32f, ilp32d, ilp32e, lp64, lp64f, lp64dilp32, ilp32d, lp64, lp64dilp32, ilp32f, ilp32d, ilp32e, lp64, lp64f, lp64dilp32, ilp32d, lp64, lp64dn/alp64, lp64dn/a
C (compressed) v2.0yupstreamupstreamupstreamupstreamn/an/aupstream
upstream

Zifencei v2.0yupstreamupstreamupstream


not supported
upstreamupstream
Zihintpause v1.0


upstream


not supported



Zicsr v2.0yupstreamupstreamupstream


not supported
upstreamupstream
Counters v2.0nupstreamupstream
n/an/an/aupstreamupstream
upstream
Machine ISA v1.11 (CSRs, ECALL, EBREAK, MRET/SRET/URET, WFI, Reset, NMIs, PMAs, PMP)yupstreamupstream





n/an/a
Supervisor ISA v1.11 (CSRs, SFENCE.VMA, Sv32/Sv39/Sv48)yupstreamupstream




n/a


B (bitmanip) v0.92 (Zba, Zbb, Zbc, Zbe, Zbf, Zbk, Zbp, Zbr, Zbs)n

Mailpatch (Zba, Zbb, Zbs, Zbp)

PRdev branch

upstream (experimental)



K (scalar crypto)n

PRPR

MC layer PR LLVM Intrinsic PR



P (SIMD) v0.9.4nupstream (but v0.9.2!)Mailpatch (v0.9.4)PRPR

PR



V (vector) v0.10, Vector Extension Intrinsics, Vector Calling Conventionnupstreamupstream (but v0.7.1)



upstream (experimental,FP16 ABI not settled)



Ztso v0.1n





not supported



Zam v0.1n





not supported



H (hypervisor) v0.6.1nupstreamupstreamdev branchn/an/an/a
upstream
KVM patches on LKML
Zmmul v0.1 (subset of M)











J (JIT/Java)











TEE











Snavpotn










Zfinxnstaging branchstaging branchstaging branchstaging-branch

PR



Z*inx (with new ABIs: ILP32X/LP64X)


dev: PLCTdev: PLCT






Zfh






upstream



SV57











Zce


dev: PLCTdev: PLCT

dev branch



CMO / Zicmobasen










...