STCLR, STCLRL
Atomic bit clear on word or doubleword in memory, without return
This instruction
atomically loads a 32-bit word or 64-bit doubleword from memory, performs a
bitwise AND with the complement of the value held in a register on
it, and stores the result back to memory.
STCLR does not have release semantics.
STCLRL stores to memory with release semantics, as described
in Load-Acquire, Store-Release.
For information about addressing modes, see
Load/Store addressing modes.
If PSTATE.DIT is 1, the timing of this instruction is insensitive to the value of the data being loaded or stored.
LDCLR, LDCLRA, LDCLRAL, LDCLRL
1
x
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
0
0
STCLR <Ws>, [<Xn|SP>]
LDCLR <Ws>, WZR, [<Xn|SP>]
Unconditionally
0
1
STCLRL <Ws>, [<Xn|SP>]
LDCLRL <Ws>, WZR, [<Xn|SP>]
Unconditionally
1
0
STCLR <Xs>, [<Xn|SP>]
LDCLR <Xs>, XZR, [<Xn|SP>]
Unconditionally
1
1
STCLRL <Xs>, [<Xn|SP>]
LDCLRL <Xs>, XZR, [<Xn|SP>]
Unconditionally
<Ws>
Is the 32-bit name of the general-purpose register holding the data value to be operated on with the contents of the memory location, encoded in the "Rs" field.
<Xn|SP>
Is the 64-bit name of the general-purpose base register or stack pointer, encoded in the "Rn" field.
<Xs>
Is the 64-bit name of the general-purpose register holding the data value to be operated on with the contents of the memory location, encoded in the "Rs" field.