-
Notifications
You must be signed in to change notification settings - Fork 247
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
Add atomic arch instructions #522
Conversation
I thought we had discussed this already in #442 and the plan was to expose these through the rust stdlib, instead of custom instructions? |
To be clear, if I recall correctly, the entire purpose of the arch module is intended to let us prototype high level abstractions over SPIR-V concepts without getting into compiler work. There is already a high level abstraction in place for atomics ( |
Well there's no discussion in that thread, so if we did discuss it , it wasn't there and I don't remember it beyond "yes we should have them". I don't have a strong opinion on how we do it, but as I've read the spec more I'm not sure stdlib is complete abstraction for SPIR-V's atomics. For example there are way more memory semantics in SPIR-V than just |
4cdb905
to
6bce70a
Compare
e814b94
to
1473e20
Compare
(Re-opened temporarily to force push a rebase - the presence of the |
@eddyb I can delete the branch if that helps. |
@XAMPPRocky Only if you think it's been obsoleted by e.g.: (even if you delete the branch now, I still thing my cleanup of it was worth it, because the PR doesn't look extremely broken - idk how much that persists after deleting the branch, but better safe than sorry) |
This PR adds nearly all of the SPIR-V atomic instructions, the only ones not implemented are the ones around atomic flags as we don't have a type for them at the moment.
Depends on #519