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

Strict single-letter extensions on Table 28.1 (Standard ISA extension names) #838

Merged
merged 2 commits into from
Apr 23, 2022

Conversation

a4lg
Copy link
Contributor

@a4lg a4lg commented Apr 23, 2022

This branch resolves two issues on Table 28.1 (Standard ISA extension names):

  1. B, K and J are not going to be single-letter extensions, making those appearance in the Table 28.1 unnecessary (or even misleading and harmful).
    Those letters are referred in the section 28.6 (Additional Standard Extension Names) and Table 28.1 does not need them.
  2. V is plural (actually V is an extension with some variable parameters such as vector length).

See commit c1c77c4 for background of this proposal for B and J.

For K, those might be helpful:

  1. https://github.com/riscv/riscv-crypto/releases/tag/v0.9.3-scalar (with misa.K)
  2. https://github.com/riscv/riscv-crypto/releases/tag/v0.9.4-scalar (WITHOUT misa.K)
  3. https://github.com/riscv/riscv-crypto/releases/tag/v1.0.0-scalar (ratified; WITHOUT misa.K)

And how Ben Marshall responded in https://lists.riscv.org/g/tech-crypto-ext/topic/riscv_k_in_misa_risc_v/85354476 :

It says that misa.K bit is no more used. Does this mean that -misa=rv32gk is no more acceptable?

Indeed. There is no longer a single letter which enables the entire extension. You should use one of the Zk* architecture strings to enable support in the compiler.

a4lg added 2 commits April 23, 2022 15:55
They are not going to be single-letter extension names.

Because "Z*" extensions are first ordered with the second character by
extension category list "IMAFDQLCBKJTPV", those single-letters are not
necessary in the table (they can be even misleading and harmful).
"Zv*" are vector subextensions but "V" is now a single extension.
So, "V" must be singular in the standard ISA extension names table.
@a4lg
Copy link
Contributor Author

a4lg commented Apr 23, 2022

BTW, I noticed that V requires (F and) D but does it mean V implies D? If so, that should be reflected in the table, too.

@aswaterman
Copy link
Member

In this context, I view “require” and “imply” as equivalent, meaning that e.g. RV32IV and RV32IDV and RV32IFDV are all equivalent.

@aswaterman
Copy link
Member

I know @kasanovic aims to rewrite the Naming chapter, but I think it’s best to merge this PR anyway to reduce confusion.

@aswaterman aswaterman merged commit b61dd43 into riscv:master Apr 23, 2022
a4lg added a commit to a4lg/riscv-isa-manual that referenced this pull request Apr 23, 2022
... as commented by Andrew Waterman:
riscv#838 (comment)
aswaterman pushed a commit that referenced this pull request Apr 23, 2022
... as commented by Andrew Waterman:
#838 (comment)
wmat pushed a commit that referenced this pull request Jul 26, 2022
… names) (#838)

* Remove "B", "K" and "J" from standard names

They are not going to be single-letter extension names.

Because "Z*" extensions are first ordered with the second character by
extension category list "IMAFDQLCBKJTPV", those single-letters are not
necessary in the table (they can be even misleading and harmful).

* Make "V" extension singular in the naming table

"Zv*" are vector subextensions but "V" is now a single extension.
So, "V" must be singular in the standard ISA extension names table.
wmat pushed a commit that referenced this pull request Jul 26, 2022
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

Successfully merging this pull request may close these issues.

2 participants