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

LQ/SQ don't currently have encodings #6

Open
tariqkurd-repo opened this issue Jun 28, 2023 · 7 comments
Open

LQ/SQ don't currently have encodings #6

tariqkurd-repo opened this issue Jun 28, 2023 · 7 comments

Comments

@tariqkurd-repo
Copy link

Just to make you aware of this:

riscv/riscv-isa-manual#1048

@tovine
Copy link
Owner

tovine commented Jun 28, 2023

Thanks for the heads-up!
What do you think about the RV64 extension then, should it be left as a mention/future work but not pushed for ratification at this stage because RV128 isn't yet defined?

@tariqkurd-repo
Copy link
Author

if you wait for RV128 you'll be waiting for a long time, so you'd need to propose encodings for LQ/SQ as suggested in that issue

@christian-herber-nxp
Copy link

Interesting, I never noticed. I would suggest going the path of least resistence, as this is targeting fast track. I.e. only have an encoding for 32-bit pair. I am not sure if 64-bit pairs are a reasonable use case, and there is no precedent of 64-bit pairs in the P extensions.

@tovine
Copy link
Owner

tovine commented Sep 28, 2023

One more thought: even though LQ and SQ are not defined, the compressed versions (C.LQ, C.SQ, C.LQSP and C.SQSP) are defined in the C extension.
Do you think those would be worth leaving in the spec (loading 2x 64-bit values with one 16-bit instruction could be quite powerful), or should they wait for RV128 like their 32-bit counterparts?

@christian-herber-nxp
Copy link

Good catch, this changes it I would say. Very curious that this is the state of the spec. But in that case, I would just define it, i.e. include RV64 pairs, and 32-bit instructions will become available when the encoding is done.

@christian-herber-nxp
Copy link

i also just went through the unprivileged spec to confirm what you are stating. This state is just rather unbelievable. Frankly, in the fast-track process, I would check if the ARC wouldn't prefer that 32-bit encodings for LQ/SQ are defined, so that this gets resolved

tovine added a commit that referenced this issue Sep 28, 2023
Addressed issues #2, #3, #4 and #6
@tovine
Copy link
Owner

tovine commented Sep 28, 2023

Ok, I have updated the spec to tentatively include the compressed encodings for RV64 but with a note explaining the situation.

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

3 participants