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 | 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 | |||||||
D (DP float) | upstream | upstream | upstream | upstream | |||||||
Q (QP float) | upstream | 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 | |||
Zifencei | upstream | upstream | upstream | not supported | upstream | upstream | |||||
Machine ISA: CSRs | |||||||||||
Machine ISA: ECALL, EBREAK | |||||||||||
Machine ISA: MRET/SRET/URET | |||||||||||
Machine ISA: WFI | |||||||||||
Machine ISA: PMP | |||||||||||
Supervisor ISA: CSRs | |||||||||||
Supervisor ISA: SFENCE.VMA | |||||||||||
Supervisor ISA: Sv32, Sv39, Sv48 |
...
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux kernel | GDB |
---|---|---|---|---|---|---|---|---|---|---|---|
Zihintpause | upstream | not supported |
...
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 | n | upstream | upstream (but v0.7.1) | upstream (experimental,FP16 ABI not settled) | |||||||
Bitmanip: Zba, Zbb, Zbc, Zbs | n | PR | dev branch | upstream (experimental) | |||||||
FP in INT regs: Zfinx | staging branch | staging branch | staging branch | staging-branch | PR | ||||||
Half Width FP: Zfh, Zfhmin | upstream | ||||||||||
ePMP: Smepmp | |||||||||||
Scalar crypto: Zbkb, Zbkc, Zbkx, Zknd, Zkne, Zknh, Zksed, Zksh, Zkn, Zks, Zkt, Zk, Zkr | PR | PR | MC layer PR LLVM Intrinsic PR | ||||||||
Priv 1.12: Sm1-12, Ss1-12, Sv57 | |||||||||||
CMO base: Zicbom, Zicbop, Zicboz | |||||||||||
Hypervisor: H | upstream | upstream | dev branch | n/a | n/a | n/a | upstream | KVM patches on LKML | |||
State Enable: Smstateen | |||||||||||
Time compare: Sstc | |||||||||||
Counter overflow and filtering: Sscofmpf | |||||||||||
Fast TLP invalidation: Svinval | |||||||||||
NAPOT pages: Svnapot | |||||||||||
Page-based memory types: Svpbmt | |||||||||||
Code Size Reduction: Zcee | |||||||||||
Packed SIMD: Zpn, Zpsfoperand, Zprvsfextra | |||||||||||
Resumable Non-maskable Interrupts: Smrnmi | |||||||||||
Core-local Interrupt Controller: CLINT | |||||||||||
Advanced Core-local Interrupt Controller: ACLINT | |||||||||||
Zmmul | |||||||||||
Pointer masking: Zjpm |
...
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 |
...