Tonight’s @risc_v Tip:
A extension defines 2 types of instructions for atomic operations: load-reserved/store-conditional (LR/SC) and atomic fetch-and-op (AMO). Both support
release bits to impose additional ordering semantics. LR/SC uses them as follows:
LR.rl should not be set unless
http://LR.aq is also, and
http://SC.aq should not be set unless
SC.rl is also. This is due to the fact that those arrangements would provide no additional ordering guarantees, but could impact performance.