[][src]Module core_arch::arm

🔬 This is a nightly-only experimental API. (stdsimd)
This is supported on ARM only.

Platform-specific intrinsics for the arm platform.

See the module documentation for more details.

Structs

APSRExperimentalARM

Application Program Status Register

ISHExperimentalARM

Inner Shareable is the required shareability domain, reads and writes are the required access types

ISHSTExperimentalARM

Inner Shareable is the required shareability domain, writes are the required access type

NSHExperimentalARM

Non-shareable is the required shareability domain, reads and writes are the required access types

NSHSTExperimentalARM

Non-shareable is the required shareability domain, writes are the required access type

OSHExperimentalARM

Outer Shareable is the required shareability domain, reads and writes are the required access types

OSHSTExperimentalARM

Outer Shareable is the required shareability domain, writes are the required access type

STExperimentalARM

Full system is the required shareability domain, writes are the required access type

SYExperimentalARM

Full system is the required shareability domain, reads and writes are the required access types

int16x2_tExperimentalARM

ARM-specific 32-bit wide vector of two packed i16.

int8x4_tExperimentalARM

ARM-specific 32-bit wide vector of four packed i8.

uint16x2_tExperimentalARM

ARM-specific 32-bit wide vector of two packed u16.

uint8x4_tExperimentalARM

ARM-specific 32-bit wide vector of four packed u8.

Functions

__breakpointExperimentalARM

Inserts a breakpoint instruction.

__clrexExperimentalARM

Removes the exclusive lock created by LDREX

__dbgExperimentalARM

Generates a DBG instruction.

__dmbExperimentalARM

Generates a DMB (data memory barrier) instruction or equivalent CP15 instruction.

__dsbExperimentalARM

Generates a DSB (data synchronization barrier) instruction or equivalent CP15 instruction.

__isbExperimentalARM

Generates an ISB (instruction synchronization barrier) instruction or equivalent CP15 instruction.

__ldrexExperimentalARM

Executes a exclusive LDR instruction for 32 bit value.

__ldrexbExperimentalARM

Executes a exclusive LDR instruction for 8 bit value.

__ldrexhExperimentalARM

Executes a exclusive LDR instruction for 16 bit value.

__nopExperimentalARM

Generates an unspecified no-op instruction.

__qaddExperimentalARM

Signed saturating addition

__qadd8ExperimentalARM

Saturating four 8-bit integer additions

__qadd16ExperimentalARM

Saturating two 16-bit integer additions

__qasxExperimentalARM

Returns the 16-bit signed saturated equivalent of

__qdblExperimentalARM

Insert a QADD instruction

__qsaxExperimentalARM

Returns the 16-bit signed saturated equivalent of

__qsubExperimentalARM

Signed saturating subtraction

__qsub8ExperimentalARM

Saturating two 8-bit integer subtraction

__qsub16ExperimentalARM

Saturating two 16-bit integer subtraction

__rsrExperimentalARM

Reads a 32-bit system register

__rsrpExperimentalARM

Reads a system register containing an address

__sadd8ExperimentalARM

Returns the 8-bit signed saturated equivalent of

__sadd16ExperimentalARM

Returns the 16-bit signed saturated equivalent of

__sasxExperimentalARM

Returns the 16-bit signed equivalent of

__selExperimentalARM

Select bytes from each operand according to APSR GE flags

__sevExperimentalARM

Generates a SEV (send a global event) hint instruction.

__shadd8ExperimentalARM

Signed halving parallel byte-wise addition.

__shadd16ExperimentalARM

Signed halving parallel halfword-wise addition.

__shsub8ExperimentalARM

Signed halving parallel byte-wise subtraction.

__shsub16ExperimentalARM

Signed halving parallel halfword-wise subtraction.

__smlabbExperimentalARM

Insert a SMLABB instruction

__smlabtExperimentalARM

Insert a SMLABT instruction

__smladExperimentalARM

Dual 16-bit Signed Multiply with Addition of products and 32-bit accumulation.

__smlatbExperimentalARM

Insert a SMLATB instruction

__smlattExperimentalARM

Insert a SMLATT instruction

__smlawbExperimentalARM

Insert a SMLAWB instruction

__smlawtExperimentalARM

Insert a SMLAWT instruction

__smlsdExperimentalARM

Dual 16-bit Signed Multiply with Subtraction of products and 32-bit accumulation and overflow detection.

__smuadExperimentalARM

Signed Dual Multiply Add.

__smuadxExperimentalARM

Signed Dual Multiply Add Reversed.

__smulbbExperimentalARM

Insert a SMULBB instruction

__smulbtExperimentalARM

Insert a SMULTB instruction

__smultbExperimentalARM

Insert a SMULTB instruction

__smulttExperimentalARM

Insert a SMULTT instruction

__smulwbExperimentalARM

Insert a SMULWB instruction

__smulwtExperimentalARM

Insert a SMULWT instruction

__smusdExperimentalARM

Signed Dual Multiply Subtract.

__smusdxExperimentalARM

Signed Dual Multiply Subtract Reversed.

__ssub8ExperimentalARM

Inserts a SSUB8 instruction.

__strexExperimentalARM

Executes a exclusive STR instruction for 32 bit values

__strexbExperimentalARM

Executes a exclusive STR instruction for 8 bit values

__strexhExperimentalARM

Executes a exclusive STR instruction for 16 bit values

__usad8ExperimentalARM

Sum of 8-bit absolute differences.

__usada8ExperimentalARM

Sum of 8-bit absolute differences and constant.

__usub8ExperimentalARM

Inserts a USUB8 instruction.

__wfeExperimentalARM

Generates a WFE (wait for event) hint instruction, or nothing.

__wfiExperimentalARM

Generates a WFI (wait for interrupt) hint instruction, or nothing.

__wsrExperimentalARM

Writes a 32-bit system register

__wsrpExperimentalARM

Writes a system register containing an address

__yieldExperimentalARM

Generates a YIELD hint instruction.

_clz_u8ExperimentalARM and v7

Count Leading Zeros.

_clz_u16ExperimentalARM and v7

Count Leading Zeros.

_clz_u32ExperimentalARM and v7

Count Leading Zeros.

_rbit_u32ExperimentalARM and v7

Reverse the bit order.

_rev_u16ExperimentalARM

Reverse the order of the bytes.

_rev_u32ExperimentalARM

Reverse the order of the bytes.

udfExperimentalARM

Generates the trap instruction UDF