This instruction exits Transactional state and discards all state modifications that were performed transactionally. Execution continues at the instruction that follows the TSTART instruction of the outer transaction. The destination register of the TSTART instruction of the outer transaction is written with the immediate operand of TCANCEL.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | imm16 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
opc | op2 | LL |
TCANCEL #<imm>
if !IsFeatureImplemented(FEAT_TME) then UNDEFINED; boolean retry = (imm16<15> == '1'); bits(15) reason = imm16<14:0>;
if !IsTMEEnabled() then UNDEFINED; if TSTATE.depth > 0 then FailTransaction(TMFailure_CNCL, retry, FALSE, reason);
Internal version only: aarchmrs v2024-03_relA, pseudocode v2024-03_rel, sve v2024-03_rel ; Build timestamp: 2024-03-26T09:45
Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.