-
Notifications
You must be signed in to change notification settings - Fork 271
Largest element index is vague #873
Comments
This was fixed by #850 (emphasis mine):
I think it would make sense to me if the EEW applied to the largest element index calculation for load/store ops with explicit element width. |
@hdelassus Yes, you're definitely right about that. Can you make a PR that makes the wording more precise? I think it needs to factor in not just EEW but also EMUL, right?
Whole-register loads and stores are a counterexample to the struckthrough text, since their EEW:EMUL ratio might not be equal to the SEW:LMUL ratio. I think you're right that "EEW and EMUL of the widest operand" is correct, but so would be "EEW and EMUL of the narrowest operand", since they have the same ratio for all standard instructions. Not sure what the best phrasing is. |
How about: "The use of vstart values greater than the largest element index is reserved. The largest element index is determined using the effective element width and effective group multiplier of the current instruction." |
Sounds about right to me. Also, @jrahmeh's suggestion LGTM.
Also mask loads and stores, which have EEW=8 and EMUL=1, right? |
Yes, those, too. Would either of you mind making a PR? |
Not 100% sure, but we might need a similar modification to a subsequent statement:
I've always been a little confused about potential overlap between this statement and the earlier one being debated in this issue. So take my comment with a grain of salt. |
@nick-knight I think that one should stay as-is. Implicitly, it admits the possibility that the constraints on vstart depend on the opcode, or on vtype, or on a combination of the opcode and vtype. So it covers all bases. |
Fixes riscvarchive#873 Signed-off-by: Hugues de Lassus <[email protected]>
Fixes riscvarchive#873 Signed-off-by: Hugues de Lassus <[email protected]>
Section 3.7 says:
Is the largest element index computed using the current group multiplier, or the largest group multiplier (8)?
For load and store operations with explicit element width (example: vle8.v), do we use the current SEW in vtype or the effective element width (8 for vle8.v)?
The text was updated successfully, but these errors were encountered: