Skip to content

Commit

Permalink
[vector crypto] Clarifying mandate for vector register index alignmen…
Browse files Browse the repository at this point in the history
…t to LMUL/EMUL
  • Loading branch information
nibrunieAtSi5 committed Sep 26, 2024
1 parent 7023c60 commit 457e92d
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/vector-crypto.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,17 @@ Element Group Size (`EGS`).
LMUL constraints::
For element-group instructions, `LMUL`*`VLEN` must always be at least as large as `EGW`, otherwise an
_illegal instruction exception_ is raised, even if `vl`=0.
+
A *Vector Element Group* operand or destination sets `EMUL = LMUL`.
+
A *Scalar Element Group* operand or destination sets `EMUL = ceil(EGW / VLEN)`.
+
The standard RISC-V Vector mandates on vector register group indices alignment to `EMUL` apply: operand or destination register indices must be aligned to `EMUL`, all other non-aligned cases are __reserved__.
+
[NOTE]
====
These `EMUL` alignement constraints allow scalar element group operands to be allocated to any vector register group (without need to be aligned to `LMUL`) for any implementation with `VLEN >= EGW`.
====

[%autowidth]
[%header,cols="4,2,2"]
Expand Down

0 comments on commit 457e92d

Please sign in to comment.