RISC-V International
...
An overview of the current status of unratified extensions can be found here: Architecture Review
Latest specification | Extension / feature | Ratified? | HW exists (see also here)? | FPGA exists? | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Unpriv Spec 20191213 | RV32IRV32I v2.1 | y | e.g. LowFive | e.g. Rocket | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | not supported | upstream | |||||
Unpriv Spec 20191213 | RV64IRV64I v2.1 | y | e.g. BeagleV | e.g. Rocket | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstreamupstream | |||||
Unpriv Spec 20191213 | Big-endian support | y | upstream | upstream | not supported | RV32E v1.9 | n | upstream | not supported | not supported | not supported | ||||||||
Unpriv Spec 20191213 | M (Multiplication and Division) v2.0 | ye.g. BeagleV | e.g. Rocket | upstream | upstream | upstream | upstream | n/a | n/a | upstream | n/a | n/a | n/a | ||||||
Unpriv Spec 20191213 | A (Atomic) v2.1 | y | e.g. BeagleV | e.g. Rocket | upstream | upstream | upstream | upstream | n/a | n/a | upstream | upstream (atomics) | upstream (atomics) | upstream (atomics) | |||||
Unpriv Spec 20191213 | F (SP float) v2.2 | y | e.g. BeagleV | e.g. Rocketupstream | upstream | upstreamupstream | |||||||||||||
Unpriv Spec 20191213 | D (DP float) v2.2 | y | upstream | upstream | upstream | RVWMO v2.0||||||||||||||
Unpriv Spec 20191213 | Q (QP float) | y | upstream | not supported | |||||||||||||||
Unpriv Spec 20191213 | RVWMO | y | e.g. BeagleV | e.g. Rocket | upstream (emulation is seq. consistent) | upstream (emulation is seq. consistent) | n/a | n/a | n/a | n/a | n/a | upstream (barriers and locks) | upstream (barriers and locks) | upstream (barriers and locks), but needs optimization | |||||
psABI | ABIs (ILP32, ILP32E, ILP32F, ILP32D, LP64, LP64f, LP64D, LP64Q) | Documented ABIsilp32, ilp32f, ilp32d, ilp32q, ilp32e, lp64, lp64f, lp64d, lp64q | ilp32, ilp32f, ilp32d, ilp32e, lp64, lp64f, lp64d | ilp32, ilp32d, lp64, lp64d | ilp32, ilp32f, ilp32d, ilp32e, lp64, lp64f, lp64d | ilp32, ilp32d, lp64, lp64d | n/a | lp64, lp64d | n/a | ||||||||||
Unpriv Spec 20191213 | C (compressed) v2.0 | y | e.g. EH2 | upstream | upstream | upstream | upstream | n/a | n/aupstream | upstream | Q (QP float) v2.2 | yupstream | not supported|||||||
Zifencei v2.0 | y | e.g. EH2 | upstream | upstream | upstream | not supported | upstream | upstream | |||||||||||
Zihintpause v1.0 | upstream | not supported | |||||||||||||||||
Zicsr v2.0 | y | e.g. EH2 | upstream | upstream | upstream | not supported | upstream | upstream | |||||||||||
Counters v2.0 | n | upstream | upstream | n/a | n/a | n/a | upstream | upstream | upstream | ||||||||||
Machine ISA v1.11 (CSRs, ECALL, EBREAK, MRET/SRET/URET, WFI, Reset, NMIs, PMAs, PMP) | y | upstream | upstream | n/a | n/a | ||||||||||||||
Supervisor ISA v1.11 (CSRs, SFENCE.VMA, Sv32/Sv39/Sv48) | y | upstream | upstream | n/a | |||||||||||||||
B (bitmanip) v0.92 (Zba, Zbb, Zbc, Zbe, Zbf, Zbk, Zbp, Zbr, Zbs) | ne.g. PR for Rocket, | PR | dev branch | upstream (experimental) | |||||||||||||||
K (scalar crypto) | n | PR | PR | MC layer PR LLVM Intrinsic PR | |||||||||||||||
P (SIMD) v0.9.4 | n | upstream (but v0.9.2!) | Mailpatch (v0.9.4) | PR | PR | PR | |||||||||||||
V (vector) v0.10, Vector Extension Intrinsics, Vector Calling Convention | n | z.B. Allwinner D1 (but v0.7.1) | upstream | upstream (but v0.7.1) | upstream (experimental,FP16 ABI not settled) | ||||||||||||||
Ztso v0.1 | n | not supported | |||||||||||||||||
Zam v0.1 | n | not supported | |||||||||||||||||
H (hypervisor) v0.6.1 | ne.g. Rocket (PR) | upstream | upstream | dev branch | n/a | n/a | n/a | upstream | KVM patches on LKML | ||||||||||
Zmmul v0.1 (subset of M) | |||||||||||||||||||
J (JIT/Java) | |||||||||||||||||||
TEE | |||||||||||||||||||
Snavpot | n | ||||||||||||||||||
Zfinx | n | staging branch | staging branch | staging branch | staging-branch | PR | |||||||||||||
Z*inx (with new ABIs: ILP32X/LP64X) | dev: PLCT | dev: PLCT | |||||||||||||||||
Zfh | upstream | ||||||||||||||||||
SV57 | |||||||||||||||||||
Zce | dev: PLCT | dev: PLCT | dev branch | ||||||||||||||||
CMO / Zicmobase | n |
...