Skip to content

Conversation

@AssadHashmi
Copy link
Owner

LDADD{,A}{,L} ,
LDCLR{,A}{,L} ,
LDEOR{,A}{,L} ,
LDSET{,A}{,L} ,
LDSMAX{,A}{,L} ,
LDSMIN{,A}{,L} ,
LDUMAX{,A}{,L} ,
LDUMIN{,A}{,L} ,
SWP{,A}{,L} ,

LDADD{,A}{,L}<sz>  <Rs>, <Rt>
LDCLR{,A}{,L}<sz>  <Rs>, <Rt>
LDEOR{,A}{,L}<sz>  <Rs>, <Rt>
LDSET{,A}{,L}<sz>  <Rs>, <Rt>
LDSMAX{,A}{,L}<sz> <Rs>, <Rt>
LDSMIN{,A}{,L}<sz> <Rs>, <Rt>
LDUMAX{,A}{,L}<sz> <Rs>, <Rt>
LDUMIN{,A}{,L}<sz> <Rs>, <Rt>
SWP{,A}{,L}<sz>    <Rs>, <Rt>
@AssadHashmi
Copy link
Owner Author

I'm guessing the Valgrind IR doesn't support the full acquire/release semantics? A fence is treated as a full barrier to all loads and stores?

Yes, that's my understanding. I'm hoping to get some feedback from experienced valgrind maintainer(s)/reviewer(s) about this. I'm hoping to get some more insights into the current IR and how it can be extended from them because we'll need to extend it for half-precision (fp16) instructions in v8.2 work, I think.

Apart from the unit tests which come with the patch we tested with a multithreaded C++ test case which uses these instructions.

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.

3 participants