Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Removing HW support, adding specification reference

...

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

e.g. RocketRVWMO v2.0Documented ABIsynot supported

Latest specification

Extension / featureRatified?

HW exists

(see also here)?

FPGA exists?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBIFreeBSDLinuxGDB
Unpriv Spec 20191213RV32IRV32I v2.1ye.g. LowFivee.g. Rocketupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamnot supportedupstream
Unpriv Spec 20191213RV64IRV64I v2.1ye.g. BeagleVe.g. Rocketupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstreamupstream
Unpriv Spec 20191213Big-endian supportyupstream

upstream

not supportedRV32E v1.9nupstreamnot supportednot supportednot supported



Unpriv Spec 20191213M (Multiplication and Division) v2.0ye.g. BeagleVe.g. Rocketupstreamupstreamupstreamupstreamn/an/aupstreamn/an/an/a
Unpriv Spec 20191213A (Atomic) v2.1ye.g. BeagleVe.g. Rocketupstreamupstreamupstreamupstreamn/an/aupstreamupstream (atomics)upstream (atomics)upstream (atomics)
Unpriv Spec 20191213F (SP float) v2.2ye.g. BeagleVupstreamupstream



upstreamupstream



Unpriv Spec 20191213D (DP float) v2.2yupstreamupstream



upstream



Unpriv Spec 20191213Q (QP float)y

upstream


not supported



Unpriv Spec 20191213RVWMOye.g. BeagleVe.g. Rocketupstream (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
psABIABIs (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
Unpriv Spec 20191213C (compressed) v2.0ye.g. EH2upstreamupstreamupstreamupstreamn/an/aupstreamupstreamQ (QP float) v2.2
upstream


Zifencei v2.0ye.g. EH2upstreamupstreamupstream


not supported
upstreamupstream

Zihintpause v1.0


upstream


not supported




Zicsr v2.0ye.g. EH2upstreamupstreamupstream


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)ne.g. PR for Rocket,

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

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 Conventionn

z.B. Allwinner D1

(but v0.7.1)

upstreamupstream (but v0.7.1)



upstream (experimental,FP16 ABI not settled)




Ztso v0.1n





not supported




Zam v0.1n





not supported




H (hypervisor) v0.6.1ne.g. Rocket (PR)upstreamupstreamdev 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










...