tcommit
Transaction Commit
TCOMMIT
Commits the current transaction.
Pseudocode Operation
if PSTATE.TME == TRUE then
Commit the current transaction
if transaction fails then
ABORT_TRANSACTION
else
Continue to next instruction
else
UNDEFINED
Encoding
Binary Layout
11010101000000110011
31:12
0000
11:8
011
7:5
11111
4:0
Operands
Related
More in TME (Transactional)
Reference
View in Arm A64 ISA Reference ↗
Arm A64 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xD503307F | TCOMMIT | A64 | 11010101000000110011 | 0000 | 011 | 11111 |
Description
This instruction commits the current transaction. If the current transaction is an outer transaction, then Transactional state is exited, and all state modifications performed transactionally are committed to the architectural state. TCOMMIT takes no inputs and returns no value. Execution of TCOMMIT is UNDEFINED in Non-transactional state.
Operation
if !IsTMEEnabled() then UNDEFINED;
if TSTATE.depth == 0 then
UNDEFINED;
if TSTATE.depth == 1 then
CommitTransactionalWrites();
ClearExclusiveLocal(ProcessorID());
TSTATE.depth = TSTATE.depth - 1;