AMOADD.D
Atomic Add Doubleword
AMOADD.D rd, rs2, (rs1)
Atomically adds a value to a 64-bit doubleword in memory.
Details
AMOADD.D atomically loads a doubleword from the address in rs1 into rd, adds rs2, and stores the result back (RV64 only).
Pseudocode Operation
temp = M[R[rs1]]; M[R[rs1]] = temp + R[rs2]; R[rd] = temp;
Example
AMOADD.D x10, x11, (x12)
Encoding
Binary Layout
00000
31:27
aq
26
rl
25
rs2
24:20
rs1
19:15
011
14:12
rd
11:7
0101111
6:0
Operands
-
rd
Dest (Old Value) -
rs2
Value to Add -
rs1
Address