Syntax: SMULL {<cond>}{S} <destLo>, <destHi>, <operand1>, <operand2>
Operation: destHi, destLo = signed(operand one * operand two)
Flags: N,Z,C,V see note
This instruction performs 64-bit signed multiplication of the two operands, with the result being stored in the two destination registers.
There are certain restrictions associated with the use of this instruction:
- The 4 data fields specified must be simple registers
- The destination registers and operand1 must be different registers
- R15 may not be used as either of the destination registers
Example:
SMULL R0,R1,R2,R3 ; signed 64 bit result of = R2 * R3
It is only available on M variants of the ARM.
|
|
|