Skip to content
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

Question regarding phrasing for vector extension dependencies #1877

Open
nibrunie opened this issue Mar 2, 2025 · 1 comment
Open

Question regarding phrasing for vector extension dependencies #1877

nibrunie opened this issue Mar 2, 2025 · 1 comment

Comments

@nibrunie
Copy link

nibrunie commented Mar 2, 2025

I have found, what I believe, are small discrepancies in the way we express extension "dependencies" in the vector extension specifications.
For example Zvfbfmin is said to depends upon V or Zve32f while Zvfhmin is said to depend only upon Zve32f, see exact quote below:

This extension depends upon either the "V" extension or the Zve32f embedded vector extension.

(source: https://github.com/riscv/riscv-isa-manual/blob/492f6e0c42f1310711dccf2ad2df95a4cad10c8c/src/bfloat16.adoc#zvfbfmin---vector-bf16-converts)

The Zvfhmin extension depends on the Zve32f extension.

(source: https://github.com/riscv/riscv-isa-manual/blob/main/src/v-st-ext.adoc#zvfhmin-vector-extension-for-minimal-half-precision-floating-point)

I believe those extensions have exactly the same dependency scheme and if I am correct I think we should express it identically.
As far as I understand Zve32f is a "dependency" of "v", as "v" depends on "Zve64d" which in turns depends on "Zve64f" which depends on "Zve32f". And so I believe "Zvfbfmin" dependency scheme should be simplified to "Zve32f" without actually changing the specification intent nor meaning.

Is my understand correct ?

@nibrunie
Copy link
Author

nibrunie commented Mar 2, 2025

Similarly, I think we could clarify the vector crypto extensions dependencies

The Zvknhb and Zvbc Vector Crypto Extensions --and accordingly the composite extensions Zvkn, Zvknc, Zvkng, and Zvksc-- require a Zve64x base, or application ("V") base Vector Extension.

All of the other Vector Crypto Extensions can be built on any embedded (Zve*) or application ("V") base Vector Extension.

(source: https://github.com/riscv/riscv-isa-manual/blob/492f6e0c42f1310711dccf2ad2df95a4cad10c8c/src/vector-crypto.adoc#extensions-overview)

  • The "all the other vector crypto Extension" should depend on Zve32x, with the caveat that for Zvkb and Zvbb, the 64-bit version of the instructions is only supported on a Zve64x base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant