ARM DSP-Enhanced Intrinsic Functions

To implement the intrinsic functions for the ARM DSP-Enhanced instruction set, use the /QRdsp compiler option when compiling your code.

All ARM DSP and XSCALE Multiply/Accumulate(MAC) instructions will be supported as intrinsic functions.

The following tables show the ARM DSP Instructions for which intrinsic functions are defined.

Intrinsic 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, followed by 32-bit add of 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, 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, returning the upper 32-bits.
_AddSatInt QADD Saturating add instruction.
_SubSatInt QSUB Saturating subtract instruction.
_DAddSatInt QDADD Double an integer and saturate, then add to a second integer and saturate.
_DSubSatInt QDSUB Double an integer and saturate, then subtract from a second integer and saturate.
_ReadCoProcessor MRRC Transfer values from coprocessor to two ARM registers.
_WriteCoProcessor MCRR Transfer two ARM register values to a coprocessor.

See Also

Common Intrinsic Functions | Microprocessor-specific Intrinsic Functions | ARM10 Intrinsic Functions | ARM XSCALE Intrinsic Functions | ARM Guide

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.