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

src/mte_tag: revise pointer tag instructions #10

Merged
merged 1 commit into from
Jan 1, 2025

Conversation

deepak0414
Copy link
Collaborator

Current pointer tag instructions to annotate pointers with tags are zimop and take the form where rd=0 and rs1 acts as source and destination both. One primary feedback has been that it makes semantics weird and can impact implementation. As part of this patch, pointer tag annotation is split into two instructions. First instruction prepares the tag and second instruction merges that tag into pointer. If memory tagging is disabled then first instruction prepares zero into destination and subsequent instruction merge of tag into pointer doesn't impact addressing bits of pointer.

Current pointer tag instructions to annotate pointers with tags
are zimop and take the form where `rd=0` and `rs1` acts as source
and destination both. One primary feedback has been that it makes
semantics weird and can impact implementation. As part of this
patch, pointer tag annotation is split into two instructions. First
instruction prepares the tag and second instruction merges that tag
into pointer. If memory tagging is disabled then first instruction
prepares zero into destination and subsequent instruction merge of
tag into pointer doesn't impact addressing bits of pointer.

Signed-off-by: Deepak Gupta <[email protected]>
@deepak0414
Copy link
Collaborator Author

Merging this PR for now as per ARC and TG direction check for revising pointer tag instructions.
Spec is still in development phase (strawman phase) and any modifications can be done in future.

@deepak0414 deepak0414 merged commit 905024e into riscv:main Jan 1, 2025
2 checks passed
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