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

Compatibility with Zilsd #372

Closed
arichardson opened this issue Sep 18, 2024 · 3 comments · Fixed by #385
Closed

Compatibility with Zilsd #372

arichardson opened this issue Sep 18, 2024 · 3 comments · Fixed by #385
Labels
bug Something isn't working For next release

Comments

@arichardson
Copy link
Collaborator

It looks like Zilsd (https://github.com/riscv/riscv-zilsd/blob/v0.10/zilsd.adoc) wants to repurpose the DWORD load/store opcodes for RV32 to be load-store pair. Should we use the RV64 encoding of loads/stores for RV32 to avoid this conflict?

This would solve the non-compressed conflict, however for compressed instructions they are are using the floating-point load-stores and forcing capability loads to use the RV64 format would prevent push-pop instructions from being supported. Not sure how best to approach this problem.

@arichardson
Copy link
Collaborator Author

https://lists.riscv.org/g/tech-arch-review/message/259 suggests this extension looks likely to be ratified as-is?

@andresag01 andresag01 added bug Something isn't working For next release labels Sep 26, 2024
@tariqkurd-repo
Copy link
Collaborator

The confusing 16-bit encoding mapping is why I put this table in the doc:

image

So - I would say - that no change is needed for compressed encodings - as we already support both Zcmp (push/pop) and Zcmt (table jump) in cap mode.

For the 32-bit encodings - then we have quite a few which change depending on XLEN - so I think I'd be in favour of unifying all of them. Apart from anything else it will simplify the document - so my proposal is to move all load/store/AMO cap encodings to the RV64 ones.

@arichardson
Copy link
Collaborator Author

Simplifying the encodings to be consistent across XLEN for 32-bit encodings sounds good to me!

tariqkurd-repo added a commit that referenced this issue Sep 28, 2024
fixes #372

due to the conflict with Zilsd meaning we lost access to LC/SC in RV32,
it seems wise to move all to the RV64 encodings which have no current
conflicts.

all is subject to change on ARC review.
tariqkurd-repo added a commit to tariqkurd-repo/riscv-cheri that referenced this issue Oct 9, 2024
…#385)

fixes riscv#372

due to the conflict with Zilsd meaning we lost access to LC/SC in RV32,
it seems wise to move all to the RV64 encodings which have no current
conflicts.

all is subject to change on ARC review.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working For next release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants