binutils Newspaper
JULY 29, 2026
bfd/risc-v Proposed

RISC-V: Zv{b,k}* imply Zve32x

Discussion on correct ordering of RISC-V extensions in binutils, specifically concerning 'zve32x' implication.

This discussion centers on the correct placement and implication of RISC-V extensions in binutils, specifically addressing whether ‘zve32x’ should be implied by extensions like ‘zvbc’ and ‘zvkb’. Nelson Chu argues for the current alphabetical ordering within categories based on the ISA specification, while also noting potential deviations from naming rules in ratified extensions. Jan Beulich’s comments raise questions about the ordering within the riscv_supported_std_z_ext tables.

In the Thread 2 participants
  1. Nelson Chu proposer

    Explains that the alphabetical order of extensions dictates 'zve*' should come after 'zvb*' and 'zvk*' based on the ISA spec. Also notes inconsistencies in extension naming rules.

    “So I think since the alphabetical order, zve* should be placed after zvb*. The order of riscv_supported_* tables doesn't affect the final output, but it would be good to be maintained in the right order.”
  2. Jan Beulich reviewer

    Queries whether the placement of 'zve32x' after 'zvbb'/'zvbc' is correct, suggesting that the order in `riscv_supported_std_z_ext` might be intentional.

Technical Tradeoffs

  • Ensuring correct adherence to the RISC-V specification versus maintaining compatibility with existing binutils handling.

In Details

This thread debates the correct definition of RISC-V extension implications and ordering within binutils. Specifically, it concerns whether extensions like zvbc should imply zve32x, and the correct alphabetical sequencing of extensions starting with 'Zv' as per the RISC-V ISA manual. The discussion also touches upon potential violations of extension naming conventions.

For Context
RISC-V
An open-source Instruction Set Architecture (ISA) that is modular and extensible.
Extension
A set of instructions that can be added to the base RISC-V ISA to provide additional functionality (e.g., vector processing, atomic operations).
Implication
In the context of RISC-V extensions, when supporting one extension automatically enables support for another.
Zve32x
A RISC-V extension that provides 32-bit vector processing capabilities.
bfd
Binary File Descriptor library, part of GNU Binutils, used for handling various object file formats.
Filed Under: risc-vextensionsbinutilsisaspecification