-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
proposal: change GORISCV64=rva20u64 to include compressed instructions #71105
Comments
/cc @markdryan |
Related Issues Related Code Changes (Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.) |
Change https://go.dev/cl/523477 mentions this issue: |
Change https://go.dev/cl/523478 mentions this issue: |
Change https://go.dev/cl/523476 mentions this issue: |
Change https://go.dev/cl/639656 mentions this issue: |
Change https://go.dev/cl/639657 mentions this issue: |
Change https://go.dev/cl/639658 mentions this issue: |
CC @golang/riscv64 |
Proposal Details
When the proposal for
GORISCV64
was being discussed, the situation regarding compressed instructions for RISC-V was somewhat unclear and there were discussions about potentially reusing the encoding space. As such, the decision was to make the defaultGORISCV64
value berva20u64
but explicitly exclude compressed instructions, effectively givingrv64g
:#61476 (comment)
There has since been a decision regarding the future of the C extension, with it remaining a mandatory part of RVA20 and RVA22:
https://lists.riscv.org/g/tech-profiles/topic/rvi_bod_decision_regarding/102522954
This means that all general purpose RISC-V hardware that Go will run on must support compressed instructions.
This proposal is to change Go's meaning of
GORISCV64=rva20u64
to include compressed instructions, instead of continuing to prohibit them.The text was updated successfully, but these errors were encountered: