5.11.1. 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.

Syntax

Vop{cond}.datatype {Qd}, Qn, Qm
Vop{cond}.datatype {Dd}, Dn, Dm
VopL{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.

Copyright © 2002-2010 ARM. All rights reserved.ARM DUI 0204J
Non-ConfidentialID101213