-
Notifications
You must be signed in to change notification settings - Fork 791
Add Zvbc32e and Zvkgs specifications (into vector crypto chapter) #2369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
c7fedf7 to
6d2a882
Compare
008b48c to
588b85a
Compare
588b85a to
f8cb394
Compare
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` |
There was a problem hiding this comment.
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}.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done in 7cb19f0
…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]>
e37c040 to
45f0de6
Compare
|
|
||
|
|
||
| <<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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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). |
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.