Can SD.RL use offset(rs1)?
No. The official syntax is sd.rl rs2, (rs1), with no offset immediate; the address comes directly from rs1.
Zalasr atomic store of 8 bytes with release-RCsc ordering (RV64-only).
SD.RL is a 8-byte ordered atomic store in the Zalasr standalone load-acquire/store-release family. It atomically writes the low 64 bits of x[rs2] to the address in x[rs1]; the syntax has no offset field, and rd is fixed to x0 in the encoding. The address is naturally aligned to the access width by default unless relaxed by the misaligned atomicity granule PMA; D-width forms are RV64-only.
Shows the Zalasr standalone store-release AMO encoding, no-offset address syntax, 64-bit data transfer, and aq/rl ordering annotation.
SD.RL writes only the low 64 bits of rs2 to memory; higher rs2 bits are not part of the stored value.
This animation shows ISA-visible Zalasr atomic load/store behavior and aq/rl ordering annotations; it does not model LR/SC reservations, AMO read-modify-write old-value return, caches, buses, or pipeline timing.
SD.RL uses rs1 directly as the address and atomically writes the low 64 bits of rs2; aq/rl bits provide ordering annotations and do not change the stored data.
Understand this scenario with real code like «sd.rl x5, (x6)».
Understand this scenario with real code like «sd.rl x5, (x6)».
No. The official syntax is sd.rl rs2, (rs1), with no offset immediate; the address comes directly from rs1.
No. These Zalasr instructions are single ordered atomic load/store operations; the animation does not show reservations or old-value return.
No. aq/rl are ordering annotations; the stored value is still the low 64 bits of rs2.