...
Overview
Table description
...
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|
RV32I | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | not supported | upstream | upstream |
---|
RV64I | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream | upstream |
---|
Big-endian support | upstream |
|
| upstream |
|
| not supported |
| not supported |
| upstream |
---|
M (Multiplication and Division) | upstream | upstream | upstream | upstream | n/a | n/a | upstream | n/a | n/a | n/a | upstream |
---|
A (Atomic) | upstream | upstream | upstream | upstream | n/a | n/a | upstream | upstream (atomics) | upstream (atomics) | upstream (atomics) | upstream |
---|
F (SP float) | upstream | upstream | upstream | upstream | upstream | upstream | upstream |
| upstream | upstream | upstream |
---|
D (DP float) | upstream | upstream | upstream | upstream | upstream | upstream | upstream |
| upstream | upstream | upstream |
---|
Q (QP float) |
|
| upstream |
|
|
| not supported |
| not supported |
| upstream |
---|
RVWMO | 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 | upstream |
---|
C (compressed) | upstream | upstream | upstream | upstream | n/a | n/a | upstream |
| upstream | upstream |
|
---|
Zifencei | upstream | upstream | upstream | upstream |
|
| not supported |
| upstream | upstream |
|
---|
Machine ISA: CSRs | upstream | upstream | upstream |
|
|
|
|
| n/a |
|
|
---|
Machine ISA: ECALL, EBREAK | upstream | upstream |
|
|
|
|
|
| upstream | upstream |
|
---|
Machine ISA: MRET/SRET/URET | upstream | upstream |
|
|
|
|
|
| n/a |
|
|
---|
Machine ISA: WFI | upstream | upstream |
|
|
|
|
|
| upstream | upstream |
|
---|
Machine ISA: PMP |
|
|
|
|
|
|
|
| n/a |
|
|
---|
Supervisor ISA: CSRs | upstream | upstream |
|
|
|
|
|
| upstream |
|
|
---|
Supervisor ISA: SFENCE.VMA | upstream | upstream |
|
|
|
|
|
| upstream | upstream |
|
---|
Supervisor ISA: Sv32, Sv39, Sv48 | upstream | upstream |
|
|
|
|
|
| Sv39 upstream | upstream (sv39) |
|
---|
Unpublished ratified extensions
...
...
GDB
...
Specifications that are at least frozen
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.
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|
Zihintpause | upstream | Mailpatch | upstream |
|
|
| upstream |
|
|
|
|
---|
Vector: |
---|
Zvamo, Zvlsseg, Zvediv, Zvqmac, Zve32x, Zve32f, Zve64x, Zve64f, Zve64d, |
---|
Zvfh, ZveZvl*b, V | upstream | upstream | upstream |
---|
(but v0.7.1)upstream (but v0.7.1) | upstream (experimental,FP16 ABI not settled) | not supported |
|
|
Bitmanip: Zba, Zbb, Zbc, Zbs | upstream | upstream |
---|
Mailpatch (Zba, Zbb, Zbs, Zbp)staging branch | staging branchPR
|
|
| MC upstream |
| not supported |
|
|
Half Width FP: Zfh, Zfhmin | upstream | upstream | upstream |
|
|
| upstream |
| not supported |
|
|
---|
ePMP: Smepmp | upstream | upstream(but 0.9.3) | upstream |
|
|
| PR |
| not supported |
|
|
---|
Scalar crypto: |
---|
ZbkbZbkb, Zbkc, Zbkx, Zknd, Zkne, Zknh, Zksed, Zksh, Zkr, Zkt, Zkn, Zks, |
---|
Zkt, , Zkrstaging branchupstream | upstream | upstream(only minimal support and wait c-api merge) |
MC layer PR LLVM Intrinsic PR
|
| upstream |
| not used |
|
|
Priv 1.12: Sm1-12, Ss1-12, Sv57 |
| upstream | upstream |
|
|
|
|
| not supported |
|
|
---|
CMO base: Zicbom, Zicbop, Zicboz |
---|
staging branchupstream | Mailpatch | upstream |
|
|
| PR,PR |
| not supported | dma-ops upstream (6.0) |
|
Hypervisor: (H) | upstream | upstream |
---|
dev branchupstream | n/a | n/a | n/a |
| upstream | not supported | upstream (5.16) |
|
State Enable: Smstateen | upstream | Mailpatch | upstream |
|
|
|
|
| not supported |
|
|
---|
Time compare: Sstc |
| Mailpatch | upstream |
|
|
|
|
| not supported |
|
|
---|
Counter overflow and filtering: Sscofmpf | PR | Mailpatch | upstream |
|
|
|
|
| not supported |
|
|
---|
Fast TLP invalidation: Svinval | upstream |
---|
staging branchupstream | upstream |
|
|
|
|
| not supported |
|
|
NAPOT pages: Svnapot | upstream | upstream |
---|
staging branchupstream |
|
|
|
|
| not supported |
|
|
Page-based memory types: Svpbmt | upstream |
---|
staging branch | not supported | Code Size Reduction: Zcee | dev branch | dev branch | dev branch | dev branchPacked SIMD: Zpn, Zpsfoperand, Zprvsfextra | PR | PR | not supported | Resumable Non-maskable Interrupts: Smrnmi | not supported | upstream (5.19) |
|
Core-local Interrupt Controller: CLINT | upstream | upstream |
|
|
|
|
|
| upstream | upstream (clocksource) |
---|
Advanced Core-local Interrupt Controller: ACLINTnot supported | Patchwork | Zmmul | Mailpatchhttps://reviews.llvm.org/D103313 | n/a | Specifications that are at least frozen
Extensions and features in the table below are either frozen or ready-for-ratification.
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.
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|
psABI: Standard ABIs: ILP32, ILP32F, ILP32D, LP64, LP64F, LP64D, LP64Q | n/a | n/a | upstream | ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d | ilp32, ilp32d, lp64, lp64d | ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d | ilp32, ilp32d, lp64, lp64d | n/a | lp64, lp64d | n/a |
|
---|
...
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|
Embedded ABI: ILP32E, LP64E | n/a | n/a | upstream | upstream | not supported | upstream | not supported | n/a | n/a | n/a | not supported |
---|
Packed SIMD: Zpn, Zpsfoperand, Zbpbo, P | upstream( v0.9.2) | Mailpatch | PR (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 supported | Patchwork |
|
---|
Gaps
- Vector Extension Intrinsics (specification exists, but not frozen)
- Vector Calling Convention (specification exists, but not frozen)
- Scalar Crypto Intrinsics