-
Notifications
You must be signed in to change notification settings - Fork 34
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
Canonical tag clearing pseudo #94
Comments
I like the idea of making I am less keen about the informative note because this |
@francislaus pointed out that |
I've marked this as a bug as this is a spec change. |
Closed via #103 |
ISAv9 had a dedicated CClearTag instruction that writes back the input register without a tag. This is not hugely common. One place I've seen it is in the CheriBSD kernel does for a tag-stripping memcpy since it predates tag-clearing semantics for loads without permit_load_cap.
With #82 we could treat
cbuildcap cd, c0, cs2
as the canonicalccleartag cd, cs1
(previously I believe the best we could do was the two-instructioncgethigh cd, cs1; csethigh cd, cs1, cd;
.Should we add a note to buildcap that it might be a good idea for a high-performance CHERI core to special-case
cbuildcap cd, c0, cs2
in the decoder to be a tag-clearing move?Should there be an assembly pseudo for ccleartag that maps to
cbuildcap cd, c0, cs2
?The text was updated successfully, but these errors were encountered: