You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

This page gives an overview of the extension and feature support in the RISC-V SW ecosystem.

Published specifications can be found here: https://riscv.org/technical/specifications/

The main repository of the ISA specifications is: https://github.com/riscv/riscv-isa-manual

Certain extensions are generated by individual TGs.

An overview of the current status of unratified extensions can be found here: Opcode and State Review

Extension / featureRatified?SpikeQemuBinutilsGCCglibcnewlibLLVMOpenSBILinuxGDB
RV32I v2.1ymainlinemainlinemainlinemainlinemainlinemainlinemainlinemainlinemainline
RV64I v2.1ymainlinemainlinemainlinemainlinemainlinemainlinemainlinemainlinemainline
Big-endian supportymainline

mainline





RV32E v1.9n


mainline

not supported
not supported
M (Multiplication and Division) v2.0ymainlinemainlinemainlinemainlinen/an/amainlinen/an/a
A (Atomic) v2.1ymainlinemainlinemainlinemainlinen/an/amainlinemainline (atomics)mainline (atomics)
F (SP float) v2.2ymainlinemainline







D (DP float) v2.2ymainlinemainline







RVWMO v2.0ymainline (emulation is seq. consistent)mainline (emulation is seq. consistent)n/an/an/an/an/amainline (barriers and locks)mainline (barriers and locks), but needs optimization
ABIs (ILP32, ILP32E, ILP32F, ILP32D, LP64, LP64f, LP64D, LP64Q)Documented ABIs

ilp32, ilp32d, lp64, lp64dilp32, ilp32d, lp64, lp64dilp32, ilp32d, lp64, lp64d
ilp32, ilp32d, lp64, lp64dn/an/a
C (compressed) v2.0ymainlinemainlinemainlinemainlinen/an/amainline


Q (QP float) v2.2y









Zifencei v2.0ymainlinemainlinemainline




mainline
Zihintpause v1.0










Zicsr v2.0ymainlinemainlinemainline




mainline
Counters v2.0nmainlinemainline
n/an/an/a
mainlinemainline
Machine ISA v1.11 (CSRs, ECALL, EBREAK, MRET/SRET/URET, WFI, Reset, NMIs, PMAs, PMP)ymainlinemainline





n/a
Supervisor ISA v1.11 (CSRs, SFENCE.VMA, Sv32/Sv39/Sv48)ymainlinemainline




n/a

B (bitmanip) v0.92 (Zba, Zbb, Zbc, Zbk, Zbs)n









K (scalar crypto)n









P (SIMD) v0.9.4nmainline (but v0.9.2!)

PR





V (vector) v0.10, Vector Extension Intrinsics, Vector Calling Conventionnmainlinemainline (but v0.7.1)



mainline (Zvlsseg API not settled, FP16 ABI not settled)


Ztso v0.1n









Zam v0.1n









H (hypervisor) v0.6.1










Zmmul v0.1 (subset of M)










J (JIT/Java)










TEE










Snavpotn









Zfinx










mainline...SW support has been merged into the main development branch of the corresponding SW project

n/a...not applicable, not relevant or not required

empty cells...unknown status (feel free to share your knowledge)

ISA extension naming conventions

E.g.: RV64I1p0M1p0A1p0F1p0D1p0 or RV32I2_M2_A2 (P extension requires underscore!)

The complete ISA extension naming convention can be found in the unpriv specification.

Extensions with prefix Z...standard user-level
Extensions with prefix X...non-standard user-level
Extensions with prefix S...standard supervisor-level
Extensions with prefix SX...non-standard supervisor-level

  • No labels