Signed Long Multiply, with optional Accumulate, with 32-bit operands, and 64-bit result and accumulator.
is an optional suffix available in A32 state only. If S is specified, the condition flags are updated on the result of the operation.
is an optional condition code.
are the destination registers. They also hold the accumulating value.
RdHimust be different registers
are ARM registers holding the operands.
SMLAL instruction interprets the values from
Rm as two's complement signed integers. It multiplies these integers,
and adds the 64-bit result to the 64-bit signed integer contained in
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.
If S is specified, this instruction:
- Updates the N and Z flags according to the result.
- Does not affect the C or V flags.
This instruction is available in A32 and T32.
There is no 16-bit version of this instruction in T32.