smuad

Signed Multiply Add Dual

SMUAD{X}<c> <Rd>, <Rn>, <Rm>

Performs two 16x16 multiplies and adds results (Top*Top + Bot*Bot).

Details

The Signed Multiply Add Dual instruction performs two 16x16 multiplies and adds results (Top*Top + Bot*Bot).

Pseudocode Operation

Rd ← Rn + Rm
// Flags affected: N, Z, C, V

Example

SMUAD r0, r1, r2

Encoding

Binary Layout
cond
01110000
Rn
Rd
1111
0001
Rm
 
Format Multiply
Opcode 0x0700F010
Extension A32 (DSP)

Operands

  • Rd
    Destination general-purpose register
  • Rn
    First source / base general-purpose register
  • Rm
    Second source / offset general-purpose register