Versions Compared

Key

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

...

Extension / featureRatified?

HW exists

(see also here)?

FPGA exists?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinuxGDB
RV32I v2.1ye.g. LowFivee.g. Rocketmainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreamnot supportedmainlineupstream
RV64I v2.1ye.g. BeagleVe.g. Rocketmainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstreammainlineupstream
Big-endian supporty

mainlineupstreammainline

upstream

not supported



RV32E v1.9n




mainlineupstream

not supported
not supportednot supported
M (Multiplication and Division) v2.0ye.g. BeagleVe.g. Rocketmainlineupstreammainlineupstreammainlineupstreammainlineupstreamn/an/amainlineupstreamn/an/an/a
A (Atomic) v2.1ye.g. BeagleVe.g. Rocketmainlineupstreammainlineupstreammainlineupstreammainlineupstreamn/an/amainlineupstreammainline upstream (atomics)mainline upstream (atomics)mainline upstream (atomics)
F (SP float) v2.2ye.g. BeagleVe.g. Rocketmainlineupstreammainlineupstream



mainlineupstream



D (DP float) v2.2y

mainlineupstreammainlineupstream



mainlineupstream



RVWMO v2.0ye.g. BeagleVe.g. Rocketmainline upstream (emulation is seq. consistent)mainline upstream (emulation is seq. consistent)n/an/an/an/an/amainline upstream (barriers and locks)mainline upstream (barriers and locks)mainline upstream (barriers and locks), but needs optimization
ABIs (ILP32, ILP32E, ILP32F, ILP32D, LP64, LP64f, LP64D, LP64Q)Documented ABIs



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.0y
e.g. EH2mainlineupstreammainlineupstreammainlineupstreammainlineupstreamn/an/amainlineupstream
mainlineupstream

Q (QP float) v2.2y



mainlineupstream


not supported



Zifencei v2.0y
e.g. EH2mainlineupstreammainlineupstreammainlineupstream


not supported
mainlineupstreammainlineupstream
Zihintpause v1.0




mainlineupstream


not supported



Zicsr v2.0y
e.g. EH2mainlineupstreammainlineupstreammainlineupstream


not supported
mainlineupstreammainlineupstream
Counters v2.0n

mainlineupstreammainlineupstream
n/an/an/amainlineupstreammainlineupstream
mainlineupstream
Machine ISA v1.11 (CSRs, ECALL, EBREAK, MRET/SRET/URET, WFI, Reset, NMIs, PMAs, PMP)y

mainlineupstreammainlineupstream





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

mainlineupstreammainlineupstream




n/a


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

e.g. PR for Rocket,

EH2 (Zba, Zbb, Zbc, Zbe, Zbf, Zbp, Zbr, Zbs)


Mailpatch (Zba, Zbb, Zbs, Zbp)

PRdev branch

mainline upstream (experimental)



K (scalar crypto)n



PRPR

MC layer PR LLVM Intrinsic PR



P (SIMD) v0.9.4n

mainline upstream (but v0.9.2!)Mailpatch (v0.9.4)PRPR

PR



V (vector) v0.10, Vector Extension Intrinsics, Vector Calling Conventionn

z.B. Allwinner D1

(but v0.7.1)


mainlineupstreammainline upstream (but v0.7.1)



mainline upstream (experimental,FP16 ABI not settled)



Ztso v0.1n







not supported



Zam v0.1n







not supported



H (hypervisor) v0.6.1n
e.g. Rocket (PR)mainlineupstreammainlineupstreamdev branchn/an/an/a
mainlineupstream
KVM patches on LKML
Zmmul v0.1 (subset of M)













J (JIT/Java)













TEE













Snavpotn












Zfinxn

staging branchstaging branchstaging branchstaging-branch

PR



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




dev: PLCTdev: PLCT






Zfh








mainlineupstream



SV57













Zce




dev: PLCTdev: PLCT

dev branch



CMO / Zicmobasen












...

upstream...SW support has been merged into the main development branch of the corresponding SW project
staging branch...SW support lives in a staging branch and is not mainlinedupstreamed
PR...SW support exists in form of a pull request for mainline upstream (in-review or waiting for ratification)
n/a...not applicable, not relevant, or not required
missing...currently no known implementation
dev:X...feature is in development by X
empty cells...unknown status (feel free to share your knowledge)

...