clrex

Clear Exclusive (A32)

CLREX<c>

Clears the local exclusive access monitor.

Details

Clears the local exclusive access monitor, cancelling any pending exclusive memory operations (LDREX/STREX sequences). No flags are affected. Restricted to A32 instruction set; in T32 use CLREX or equivalent (T32-encoded form).

Pseudocode Operation

if ConditionPassed() then
  ClearExclusiveMonitor()

Example

CLREX

Encoding

Binary Layout
111101010111
1
1
1
1
1
1
1
1
0
0
0
0
0001
1111
 
Format System
Opcode 0xF57FF01F
Extension A32 (Base)

Operands

Reference (Arm AArch32 ISA)

Instruction Forms

Encoding Instruction ISA Bit pattern
0xF57FF01F CLREX{<c>}{<q>} A32 111101010111 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0001 | 1111
0xF3BF8F2F CLREX{<c>}{<q>} T32 111100111011 | 1 | 1 | 1 | 1 | 10 | 0 | 0 | 1 | 1 | 1 | 1 | 0010 | 1111

Description

Clear-Exclusive clears the local monitor of the executing PE.

Operation

if ConditionPassed() then
    EncodingSpecificOperations();
    ClearExclusiveLocal(ProcessorID());