RISC-V International
...
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 | |||||
D (DP float) | 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 | not supported | upstream | upstream | |||||
Machine ISA: CSRs | 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) |
...
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|---|---|---|---|---|---|---|---|---|---|---|
Vector: Zvamo, Zvlsseg, Zvediv, Zvqmac, Zve32x, Zve32f, Zve64x, Zve64f, Zve64d, Zvfh, Zve | nupstream | upstream(but v0.7.1) | upstream (but v0.7.1) | upstream (experimental,FP16 ABI not settled) | not supported | ||||||
Bitmanip: Zba, Zbb, Zbc, Zbs | upstream | upstreamn | PR | dev branch | upstream (experimental) | not used | |||||
FP in INT regs: Zfinx | staging branch | staging branch | upstream(Zfinx, Zdinx) | PR | not supported | ||||||
Half Width FP: Zfh, Zfhmin | upstream | upstream | not supported | ||||||||
ePMP: Smepmp | not supported | ||||||||||
Scalar crypto: Zbkb, Zbkc, Zbkx, Zknd, Zkne, Zknh, Zksed, Zksh, Zkn, Zks, Zkt, Zk, Zkr | upstream | staging branch | upstream | upstream(only minimal support and wait c-api merge) | MC layer PR LLVM Intrinsic PR | not used | |||||
Priv 1.12: Sm1-12, Ss1-12, Sv57 | not supported | ||||||||||
CMO base: Zicbom, Zicbop, Zicboz | staging branch | not supported | |||||||||
Hypervisor: H | upstream | upstream | dev branch | n/a | n/a | n/a | upstream | not supported | upstream (5.16) | ||
State Enable: Smstateen | not supported | ||||||||||
Time compare: Sstc | not supported | ||||||||||
Counter overflow and filtering: Sscofmpf | not supported | ||||||||||
Fast TLP invalidation: Svinval | upstream | staging branch | not supported | ||||||||
NAPOT pages: Svnapot | upstream | staging branch | not supported | ||||||||
Page-based memory types: Svpbmt | upstream | staging branch | not supported | ||||||||
Code Size Reduction: Zcee | staging branch | staging branch | dev branch | dev branch | not supported | ||||||
Packed SIMD: Zpn, Zpsfoperand, Zprvsfextra | PR | PR | not supported | ||||||||
Resumable Non-maskable Interrupts: Smrnmi | not supported | ||||||||||
Core-local Interrupt Controller: CLINT | upstream | upstream (clocksource) | |||||||||
Advanced Core-local Interrupt Controller: ACLINT | upstream | not supported | Patchwork | ||||||||
Zmmul | upstream | Mailpatch | Mailpatch | https://reviews.llvm.org/D103313 | n/a | ||||||
Pointer masking: Zjpm | not supported |
...