You copied the Doc URL to your clipboard.

13.124 SMMLA

Signed Most significant word Multiply with Accumulation.


SMMLA{R}{cond} Rd, Rn, Rm, Ra



is an optional parameter. If R ispresent, the result is rounded, otherwise it is truncated.


is an optional condition code.


is the destination register.

Rn, Rm

are the registers holding the operands.


is a register holding the value to be added or subtractedfrom.


SMMLA multiplies the values from Rn and Rm, adds the value in Ra to the most significant 32 bits of the product, and stores the result in Rd.

If the optional R parameter is specified, 0x80000000 isadded before extracting the most significant 32 bits. This has theeffect of rounding the result.

Register restrictions

You cannot use PC for any operand.

You can use SP in A32 instructions but this is deprecated. You cannot use SP in T32 instructions.

Condition flags

This instruction does not change the flags.


The 32-bit instruction is available in A32 and T32.

There is no 16-bit version of this instruction in T32.

Related reference