Available on AArch64 or
target_arch="arm64ec"
only.Expand description
Platform-specific intrinsics for the aarch64
platform.
See the module documentation for more details.
Structs§
- SY
Experimental - Full system is the required shareability domain, reads and writes are the required access types
Constants§
- _PREFETCH_
LOCALIT Y0 Experimental - See
prefetch
. - _PREFETCH_
LOCALIT Y1 Experimental - See
prefetch
. - _PREFETCH_
LOCALIT Y2 Experimental - See
prefetch
. - _PREFETCH_
LOCALIT Y3 Experimental - See
prefetch
. - _PREFETCH_
READ Experimental - See
prefetch
. - _PREFETCH_
WRITE Experimental - See
prefetch
. - _TMFAILURE_
CNCL Experimental - Transaction executed a TCANCEL instruction
- _TMFAILURE_
DBG Experimental - Transaction aborted due to a debug trap.
- _TMFAILURE_
ERR Experimental - Transaction aborted because a non-permissible operation was attempted
- _TMFAILURE_
IMP Experimental - Fallback error type for any other reason
- _TMFAILURE_
INT Experimental - Transaction failed from interrupt
- _TMFAILURE_
MEM Experimental - Transaction aborted because a conflict occurred
- _TMFAILURE_
NEST Experimental - Transaction aborted due to transactional nesting level was exceeded
- _TMFAILURE_
REASON Experimental - Extraction mask for failure reason
- _TMFAILURE_
RTRY Experimental - Transaction retry is possible.
- _TMFAILURE_
SIZE Experimental - Transaction aborted due to read or write set limit was exceeded
- _TMFAILURE_
TRIVIAL Experimental - Indicates a TRIVIAL version of TM is available
- _TMSTART_
SUCCESS Experimental - Transaction successfully started.
Functions§
- __
crc32b ⚠crc
- CRC32 single round checksum for bytes (8 bits).
- __
crc32cb ⚠crc
- CRC32-C single round checksum for bytes (8 bits).
- __
crc32cd ⚠crc
- CRC32 single round checksum for quad words (64 bits).
- __
crc32ch ⚠crc
- CRC32-C single round checksum for half words (16 bits).
- __
crc32cw ⚠crc
- CRC32-C single round checksum for words (32 bits).
- __
crc32d ⚠crc
- CRC32 single round checksum for quad words (64 bits).
- __
crc32h ⚠crc
- CRC32 single round checksum for half words (16 bits).
- __
crc32w ⚠crc
- CRC32 single round checksum for words (32 bits).
- __
arm_ ⚠mte_ create_ random_ tag Experimental mte
- Return a pointer containing a randomly generated logical address tag.
- __
arm_ ⚠mte_ exclude_ tag Experimental mte
- Add a logical tag to the set of excluded logical tags.
- __
arm_ ⚠mte_ get_ tag Experimental mte
- Load an allocation tag from memory, returning a new pointer with the corresponding logical tag.
- __
arm_ ⚠mte_ increment_ tag Experimental mte
- Return a pointer with the logical address tag offset by a value.
- __
arm_ ⚠mte_ ptrdiff Experimental mte
- Calculate the difference between the address parts of two pointers, ignoring the tags, and sign-extending the result.
- __
arm_ ⚠mte_ set_ tag Experimental mte
- Store an allocation tag for the 16-byte granule of memory.
- __dmb⚠
Experimental - Generates a DMB (data memory barrier) instruction or equivalent CP15 instruction.
- __dsb⚠
Experimental - Generates a DSB (data synchronization barrier) instruction or equivalent CP15 instruction.
- __isb⚠
Experimental - Generates an ISB (instruction synchronization barrier) instruction or equivalent CP15 instruction.
- __nop⚠
Experimental - Generates an unspecified no-op instruction.
- __sev⚠
Experimental - Generates a SEV (send a global event) hint instruction.
- __sevl⚠
Experimental - Generates a send a local event hint instruction.
- __
tcancel ⚠Experimental tme
- Cancels the current transaction and discards all state modifications that were performed transactionally.
- __
tcommit ⚠Experimental tme
- 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.
- __
tstart ⚠Experimental tme
- 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.
- __ttest⚠
Experimental tme
- 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.
- __wfe⚠
Experimental - Generates a WFE (wait for event) hint instruction, or nothing.
- __wfi⚠
Experimental - Generates a WFI (wait for interrupt) hint instruction, or nothing.
- __yield⚠
Experimental - Generates a YIELD hint instruction.
- _prefetch⚠
Experimental - Fetch the cache line that contains address
p
using the givenRW
andLOCALITY
.