- A = Zaamo + Zalrsc
AMO-Related
- Zaamo - Atomic memory operations -
AMO*.W,AMO*.D- https://github.com/riscv/riscv-zaamo-zalrsc/blob/main/zaamo-zalrsc.adoc - Zabha - AMO for Byte/Halfword -
AMO*.B,AMO*.H(requires Zaamo) - https://github.com/riscv/riscv-zabha/blob/main/src/zabha.adoc - Zacas - Atomic Compare and Swap -
AMOCAS.*(requires Zaamo) - https://github.com/riscvarchive/riscv-zacas/blob/main/zacas.adoc
Load/Store Related
- Zalrsc - Load Reserved / Store Conditional -
LR,SC- https://github.com/riscv/riscv-zaamo-zalrsc/blob/main/zaamo-zalrsc.adoc - Zalasr - Load-Acquire / Store-Relase -
L*.AQ/AQRL,S*.RL/AQRL- https://github.com/riscv/riscv-zalasr/blob/main/chapter2.adoc
- Ztso - Total Store Order - no new instructions, just new orderings for existing instructions.
- Za64rs - Reservation Set Size of Max 64 bytes
- Za128rs - Reservation Set Size of Max 128 bytes
Atomic ABI: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc