Skip to content

Conversation

@nibrunieAtSi5
Copy link
Contributor

@nibrunieAtSi5 nibrunieAtSi5 commented Nov 1, 2025

Following the ARC review on #1306, I am opening this pull-request to integrate the specifications following the ARC recommendations.

Eventually this PR will represent the frozen specifications for both Zvbc32e and Zvkgs.

RVIA tracking

This pull requests draft the changes associated with two fast track extensions for vector crypto.

Fast track is tracked in https://riscv.atlassian.net/browse/RVS-1915

New features:

  • Zvbc32e: Extending vclmul[h].v[vh] instruction to support SEW=32-bit, 16-bit and 8-bit values. Zvbc32e is available standalone (ELEN >= 32) or in addition to Zvbc (ELEN >= 64). no new encoding
  • Zvkgs: Adding .vs variants to vghsh and vgmul; should depend on Zvkg; new encodings

Related changes:

History

During the specification process for vector crypto 1.0.0 a few items had to be discarded because they appeared too late in the process. This fast track extension tries to address some of them.

The official demand that will be discussed in the Task Group and submitted to the Unpriv Committee is being drafter here: https://docs.google.com/document/d/1zpYhnZi2NxhjfcBGvPOy0oDhx6lTXchscG17Qcl6wv8/edit?usp=sharing

This pull request follows a previous PR against riscv-isa-manual, #1306, which itself was the follow-up to a pull request started on the riscv-crypto repo: riscv/riscv-crypto#362.

@nibrunie nibrunie force-pushed the zvbc32e-zvkgs-freeze branch from 008b48c to 588b85a Compare November 22, 2025 18:21
@nibrunie nibrunie force-pushed the zvbc32e-zvkgs-freeze branch from 588b85a to f8cb394 Compare December 6, 2025 16:44
@nibrunieAtSi5 nibrunieAtSi5 changed the title [NOT READY FOR REVIEW] Integrating frozen Zvbc32e and Zvkgs specifications into vector crypto chapter Add Zvbc32e and Zvkgs specifications (into vector crypto chapter) Dec 6, 2025
@nibrunieAtSi5 nibrunieAtSi5 marked this pull request as ready for review December 6, 2025 16:50
The Zabha extension addresses these limitations by adding support for _byte_ and
_halfword_ atomic memory operations to the RISC-V Unprivileged ISA.

=== "Zvbc32e" Extension for Vector Carry-less Multiplication for `SEW <= 32`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace all of the <= with {le} and >= with {ge}.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in 7cb19f0

nibrunie and others added 6 commits January 29, 2026 14:27
…apter

This changes introduces a new extension, dubbed Zvbc32e, which extends the instructions defined in Zvbc (vclmul.v[x,v] and vclmulh.v[x,v]) to support SEW 8, 16 or 32.
It was developped in the context of a fast track supported by RVIA Cryptography SIG and was submitted after Zvbc had been ratified.
Co-authored-by: Craig Topper <[email protected]>
Signed-off-by: Nicolas Brunie <[email protected]>
@nibrunie nibrunie force-pushed the zvbc32e-zvkgs-freeze branch from e37c040 to 45f0de6 Compare January 29, 2026 23:05


<<Zvbc>> defines vector carry-less multiplication instructions for `SEW`=64 only.
It is not suitable for implementations with small `ELEN` (32) and incurs some inefficiencies for algorithms where at least one of the multiplication operands is limited to 32 bits (or less).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
It is not suitable for implementations with small `ELEN` (32) and incurs some inefficiencies for algorithms where at least one of the multiplication operands is limited to 32 bits (or less).
It is not suitable for implementations with small `ELEN` (32) and incurs some inefficiencies for algorithms where at least one of the multiplication operands is limited to 32-bit (or narrower).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ratification Pending At Ratification-Ready, pending approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants