| |||

Home > NEON and VFP Programming > NEON multiply instructions > VMUL{L}, VMLA{L}, and VMLS{L} |

`VMUL`

(Vector Multiply) multiplies corresponding
elements in two vectors, and places the results in the destination
vector.

`VMLA`

(Vector Multiply Accumulate) multiplies
corresponding elements in two vectors, and accumulates the results
into the elements of the destination vector.

`VMLS`

(Vector Multiply Subtract) multiplies corresponding
elements in two vectors, subtracts the results from corresponding
elements of the destination vector, and places the final results
in the destination vector.

V{`op`

}.`cond`

{`datatype`

},`Qd`

,`Qn`

`Qm`

V{`op`

}.`cond`

{`datatype`

},`Dd`

,`Dn`

`Dm`

VL{`op`

}.`cond`

`datatype`

,`Qd`

,`Dn`

`Dm`

where:

`op`

must be one of:

`MUL`

Multiply

`MLA`

Multiply Accumulate

`MLS`

Multiply Subtract.

`cond`

is an optional condition code (see

*Condition codes*).`datatype`

must be one of:

`I8`

,`I16`

,`I32`

,`F32`

for

`MUL`

,`MLA`

, or`MLS`

`S8`

,`S16`

,`S32`

for

`MULL`

,`MLAL`

, or`MLSL`

`U8`

,`U16`

,`U32`

for

`MULL`

,`MLAL`

, or`MLSL`

`P8`

for

`MUL`

or`MULL`

.

See

*Polynomial arithmetic over {0,1}*for information about datatype`P8`

.,`Qd`

,`Qn`

`Qm`

are the destination vector, the first operand vector, and the second operand vector, for a quadword operation.

,`Dd`

,`Dn`

`Dm`

are the destination vector, the first operand vector, and the second operand vector, for a doubleword operation.

,`Qd`

,`Dn`

`Dm`

are the destination vector, the first operand vector, and the second operand vector, for a long operation.