Module core::core_arch::aarch64::tme

source ·
🔬This is a nightly-only experimental API. (stdsimd #48556)
Available on AArch64 only.
Expand description

ARM’s Transactional Memory Extensions (TME).

This CPU feature is available on Aarch64 - A architecture profile. This feature is in the non-neon feature set. TME specific vendor documentation can be found TME Intrinsics Introduction.

The reference is ACLE Q4 2019.

ACLE has a section for TME extensions and state masks for aborts and failure codes. ARM A64 Architecture Register Datasheet also describes possible failure code scenarios.

Constants

Functions

  • __tcancelExperimentaltme
    Cancels the current transaction and discards all state modifications that were performed transactionally.
  • __tcommitExperimentaltme
    Commits the current transaction. For a nested transaction, the only effect is that the transactional nesting depth is decreased. For an outer transaction, the state modifications performed transactionally are committed to the architectural state.
  • __tstartExperimentaltme
    Starts a new transaction. When the transaction starts successfully the return value is 0. If the transaction fails, all state modifications are discarded and a cause of the failure is encoded in the return value.
  • __ttestExperimentaltme
    Tests if executing inside a transaction. If no transaction is currently executing, the return value is 0. Otherwise, this intrinsic returns the depth of the transaction.
  • aarch64_tcancel 🔒 Experimental
  • aarch64_tcommit 🔒 Experimental
  • aarch64_tstart 🔒 Experimental
  • aarch64_ttest 🔒 Experimental