Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

zvl* and zve* extension names are invalid per the current ISA manual #729

Open
asb opened this issue Sep 3, 2021 · 3 comments
Open

zvl* and zve* extension names are invalid per the current ISA manual #729

asb opened this issue Sep 3, 2021 · 3 comments

Comments

@asb
Copy link

asb commented Sep 3, 2021

The current ISA manual states "Standard extensions can also be named using a single Z followed by an alphabetical name and an optional version number.".

The zvl* and zve* extensions don't meet this criteria due to the embedded numbers. I'm not sure there's a particularly elegant solution to this, as the convenience of embedding numbers in these extension names is obvious. To allow these names, the ISA manual would need to be updated to allow extension names with embedded numbers provided they ended with a letter of the alphabet other than p.

This came about as part of D109215 in LLVM (our current naming string parsing will reject these extension names, in line with the current spec).

@jrtc27
Copy link

jrtc27 commented Sep 3, 2021

Ending with a p is fine in general, it's the specific case of ending with [0-9]p and following it with just a major version number that's ambiguous (omitting the version entirely is unambiguous, as is having both major and minor version numbers, it's just the middle case that's ambiguous, but even if that weren't the case it'd probably be a terrible idea to allow extensions to end with [0-9]p as you'd get weird error messages if you miss the 0 on a p0, for example). "...0pa" and "...0ap" are both unambiguous, though potentially still a little confusing (but then again not really more so than Zvl32b which at first glance someone might take to mean version 32.0 of Zvl, plus the ratified version of B).

@kito-cheng
Copy link
Member

I created a similar issue before, and created a pr for isa spec try to update rule.
#697
riscv/riscv-isa-manual#718

@kasanovic
Copy link
Collaborator

To be revisited after spec goes out, but yes plan is to extend naming in backwards-compatible way by requiring non-p letter after numeric digits.

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

No branches or pull requests

4 participants