A Instructions
22 RISC-V instructions in this extension - click any row for encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Summary |
|---|---|---|---|
| AMOADD.D | AMOADD.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically adds a value to a 64-bit doubleword in memory. |
| AMOADD.W | AMOADD.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically adds a value to a word in memory. |
| AMOAND.D | AMOAND.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise AND on a 64-bit doubleword in memory. |
| AMOAND.W | AMOAND.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise AND on a word in memory. |
| AMOMAX.D | AMOMAX.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the maximum of the memory value and register value (64-bit Signed). |
| AMOMAX.W | AMOMAX.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the maximum of the memory value and register value (Signed). |
| AMOMAXU.D | AMOMAXU.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the maximum of the memory value and register value (Unsigned 64-bit). |
| AMOMAXU.W | AMOMAXU.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the maximum of the memory value and register value (Unsigned). |
| AMOMIN.D | AMOMIN.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the minimum of the memory value and register value (64-bit Signed). |
| AMOMIN.W | AMOMIN.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the minimum of the memory value and register value (Signed). |
| AMOMINU.D | AMOMINU.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the minimum of the memory value and register value (Unsigned 64-bit). |
| AMOMINU.W | AMOMINU.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically updates memory with the minimum of the memory value and register value (Unsigned). |
| AMOOR.D | AMOOR.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise OR on a 64-bit doubleword in memory. |
| AMOOR.W | AMOOR.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise OR on a word in memory. |
| AMOSWAP.D | AMOSWAP.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically swaps a 64-bit value in memory with a register. |
| AMOSWAP.W | AMOSWAP.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically swaps a value in memory with a register. |
| AMOXOR.D | AMOXOR.D rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise XOR on a 64-bit doubleword in memory. |
| AMOXOR.W | AMOXOR.W rd, rs2, (rs1) | R-Type (Atomic) | Atomically performs bitwise XOR on a word in memory. |
| LR.D | LR.D rd, (rs1) | R-Type (Atomic) | Loads a doubleword from memory and registers a reservation set. |
| LR.W | LR.W rd, (rs1) | R-Type (Atomic) | Loads a word from memory and registers a reservation set for the address. |
| SC.D | SC.D rd, rs2, (rs1) | R-Type (Atomic) | Conditionally stores a 64-bit value to memory if the reservation is valid. |
| SC.W | SC.W rd, rs2, (rs1) | R-Type (Atomic) | Conditionally stores a word to memory if the reservation (from LR) is still valid. |