...
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB |
---|
Zihintpause |
|
| upstream |
|
|
| not supported |
|
|
|
|
---|
Specifications that are at least frozen
Extensions and features in the table below are either frozen or ready-for-ratification.
Ratified? | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB |
---|
Zihintpause |
|
| upstream |
|
|
| not supported |
|
|
|
|
---|
Specifications that are at least stable
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB |
---|
Standard ABIs |
---|
( ILP32E, LP64f)ilp32, ilp32f, ilp32d, ilp32q, ilp32e, lp64, lp64f, lp64d, lp64q | n/a | n/a | upstream | 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 |
|
Specifications that are not stable
Note that this section only exists for historical purposes and the table below is not considered complete. Further, there are no attempts to track the SW support of unstable features here.
Extension | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB |
---|
Embedded ABI: ILP32E, LP64E | n/a | n/a | upstream | upstream | not supported | upstream | not supported | n/a | n/a | n/a | not supported |
---|
To-do list
This is a temporary subsection that will disappear soon.
Extension | Ratified? | Spike | Qemu | Binutils | GCC | glibc | newlib | LLVM | OpenSBI | FreeBSD | Linux | GDB |
---|
Zicsr v2.0 | y | 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) | n |
| Mailpatch (Zba, Zbb, Zbs, Zbp) | 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 | 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 | n | 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 |
|
|
|
|
|
|
|
|
|
|
|
---|
...