Add Zvbc32e and Zvkgs specifications (into vector crypto chapter)#2369
Open
nibrunieAtSi5 wants to merge 7 commits intoriscv:mainfrom
Open
Add Zvbc32e and Zvkgs specifications (into vector crypto chapter)#2369nibrunieAtSi5 wants to merge 7 commits intoriscv:mainfrom
nibrunieAtSi5 wants to merge 7 commits intoriscv:mainfrom
Conversation
c7fedf7 to
6d2a882
Compare
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
nibrunieAtSi5
commented
Nov 22, 2025
008b48c to
588b85a
Compare
588b85a to
f8cb394
Compare
16 tasks
topperc
reviewed
Dec 8, 2025
nibrunieAtSi5
commented
Dec 19, 2025
aswaterman
reviewed
Jan 29, 2026
src/rationale.adoc
Outdated
| 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` |
Member
There was a problem hiding this comment.
Please replace all of the <= with {le} and >= with {ge}.
…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 <craig.topper@sifive.com> Signed-off-by: Nicolas Brunie <82109999+nibrunieAtSi5@users.noreply.github.com>
e37c040 to
45f0de6
Compare
nibrunieAtSi5
commented
Jan 29, 2026
|
|
||
|
|
||
| <<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). |
Contributor
Author
There was a problem hiding this comment.
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). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
Related changes:
spike-isa-simmodificationsZvbc32eandZvkgs: Vector crypto additional riscv-software-src/riscv-isa-sim#1748Zvbce32https://github.com/riscv/riscv-crypto/blob/main/doc/vector/code-samples/zvbc-test.cZvkgshttps://github.com/riscv/riscv-crypto/blob/main/doc/vector/code-samples/zvkg-test.cZvkgs: Adding support for (project) fast track extension Zvkgs sail-riscv#1017Zvbc32e: Adding support for Zvbc32e sail-riscv#931History
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.