ARM DSP-enhanced Intrinsic Functions

9/7/2007

All ARM DSP instructions are supported as intrinsic functions. To use the ARM DSP intrinsics, include the armintr.h header.

The following ARM DSP Instructions have intrinsic functions defined for them.

Function Corresponding ARM DSP instruction Description

_SmulAddLo_SW_SL

_SmulAddHi_SW_SL

_SmulAddHiLo_SW_SL

_SmulAddLoHi_SW_SL

SMLAxy

A signed-integer multiply and accumulate operation: 16x16-bit multiply followed by a 32-bit add.

_SmulAddWLo_SW_SL

_SmulAddWHi_SW_SL

SMLAWy

A 32x16-bit multiply operation, followed by a 32-bit add of the upper 32 bits of the 48 bit product.

_SmulAddHi_SW_SQ

_SmulAddLo_SW_SQ

_SmulAddHiLo_SW_SQ

_SmulAddLoHi_SW_SQ

SMLALxy

A 16x16-bit multiply operation, followed by a 64-bit add of the product, with a 64-bit integer.

_SmulLo_SW_SL

_SmulHi_SW_SL

_SmulHiLo_SW_SL

_SmulLoHi_SW_SL

SMULxy

A signed-integer 16x16-bit multiply operation.

_SmulWLo_SW_SL

_SmulWHi_SW_SL

SMULWy

A signed-integer 32x16-bit multiply operation, returning the upper 32-bits.

_AddSatInt

QADD

A saturating add instruction.

_SubSatInt

QSUB

A saturating subtract instruction.

_DAddSatInt

QDADD

An instruction to double an integer and saturate, and then add to a second integer and saturate.

_DSubSatInt

QDSUB

An instruction to double an integer and saturate, and then subtract from a second integer and saturate.

_ReadCoProcessor

_WriteCoProcessor

MRRC,

MCRR

An operation to transfer values from a coprocessor to two ARM registers.

See Also

Reference

ARM XSCALE Intrinsic Functions

Other Resources

Intrinsic Functions for Device Compilers