## 32×32→64 Multiply Instructions

`<operation>{cond}{S} RdLo, RdHi, Rm, Rs`

64-bit result output into two registers.

`<operation>`

`UMULL`

– *Unsigned Multiply Long*
`UMLAL`

– *Unsigned Multiply with Accumlate Long*
- RdHi, RdLo := RdHi,RdLo + (Rm × Rs)

`SMULL`

– *Signed Multiply Long*
`SMLAL`

– *Signed Multiply with Accumlate Long*
- RdHi, RdLo := RdHi,RdLo + (Rm × Rs)

Note that they have the same form, but they treat the sign bit differently.