AArch64: add acquire load ordering to RCpc family instructions#9077
AArch64: add acquire load ordering to RCpc family instructions#9077liamwhite wants to merge 1 commit intoNationalSecurityAgency:masterfrom
Conversation
|
I think it's worth adding a new pcodeop |
|
For normal acquire ops, LOAcquire is a barrier that constrains all subsequent memory operations and so has no need to be parametrized. For RCpc acquires, ARM dictates that coherence guarantees are constrained to a specific address range For the purposes of emulation, it's okay to model AcquireRCpc as having the global side effect, but for source-level recreation they're not equivalent. |
|
Then we definitely should include a separate pcodeop, but otherwise the PR looks good. I'll try to get all of these reviewed when I get the opportunity |
ab49090 to
52fb26e
Compare
For this function, which uses the
ldaprRCpc instruction:The decompiler currently doesn't note that the instruction has release-consistent processor-consistent acquire semantics with respect to the input pointer.
This PR reuses the LOAcquire pcodeop to encode two arguments:
(This could easily be changed to a distinct pcodeop if desired)