5.11.2. VMUL{L}, VMLA{L}, and VMLS{L} (by scalar)

VMUL (Vector Multiply by scalar) multiplies each element in a vector by a scalar, and places the results in the destination vector.

VMLA (Vector Multiply Accumulate) multiplies each element in a vector by a scalar, and accumulates the results into the corresponding elements of the destination vector.

VMLS (Vector Multiply Subtract) multiplies each element in a vector by a scalar, and subtracts the results from the corresponding elements of the destination vector, and places the final results in the destination vector.

Syntax

Vop{cond}.datatype {Qd}, Qn, Dm[x]
Vop{cond}.datatype {Dd}, Dn, Dm[x]
VopL{cond}.datatype Qd, Dn, Dm[x]

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:

I16, I32, F32

for MUL, MLA, or MLS

S16, S32

for MULL, MLAL, or MLSL

U16, U32

for MULL, MLAL, or MLSL.

Qd, Qn

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

Dd, Dn

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

Qd, Dn

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

Dm[x]

is the scalar holding the second operand.

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