riscv-p-spec

August 17, 2026 ยท View on GitHub

This repository contains the working draft of RISC-V P Packed SIMD Extension.

The top level file is P-ext-proposal.adoc.

Simply clicking on the file to render a formatted version of the document.

Building the Document

The document can be built as PDF or HTML using the provided Makefile. The build uses a Docker container by default.

Prerequisites

  • Docker, or locally installed asciidoctor-pdf
  • Git submodules initialized:
    git submodule update --init
    

Build

make

This will generate build/P-ext-proposal.pdf and build/P-ext-proposal.html.

To build without Docker:

make SKIP_DOCKER=true build-docs

To clean build artifacts:

make clean

Toolchain implementations

v0.21 gcc:https://github.com/ruyisdk/riscv-gcc/tree/p-dev

v0.21 binutils: https://github.com/ruyisdk/riscv-binutils/tree/p-rebase

v0.21 qemu: https://github.com/mollybuild/qemu/tree/rvp-upstream-split

Historical implementations

v0.9.11 gcc: https://github.com/ruyisdk/riscv-gcc/tree/15.1.0

v0.9.11 binutils: https://github.com/ruyisdk/riscv-binutils/commit/1bcac7513f9faa4cd969f8dc7cf2491b6c22d7db

Specification

The P extension specification maintained in this repository was originally derived from John Hauser's draft specification and has since evolved in this repository. The original draft is available here for historical reference: https://www.jhauser.us/RISCV/ext-P/