V{Q}ADD, VADDL, VADDW, V{Q}SUB, VSUBL, and VSUBW

VADD (Vector Add) adds corresponding elements in two vectors, and places the results in the destination vector.

VSUB (Vector Subtract) subtracts the elements of one vector from the corresponding elements of another vector, and places the results in the destination vector.

VADD and VSUB have these forms:

Show/hideSyntax

V{Q}op{cond}.datatype {Qd}, Qn, Qm    ; Saturating instruction
V{Q}op{cond}.datatype {Dd}, Dn, Dm    ; Saturating instruction
VopL{cond}.datatype Qd, Dn, Dm        ; Long instruction
VopW{cond}.datatype {Qd}, Qn, Dm      ; Wide instruction

where:

Q

if present, indicates that if any of the results overflow, they are saturated.

op

must be either ADD or SUB.

cond

is an optional condition code.

datatype

must be one of:

I8, I16, I32, I64, F32

for VADD or VSUB

S8, S16, S32

for VQADD, VQSUB, VADDL, VADDW, VSUBL, or VSUBW

U8, U16, U32

for VQADD, VQSUB, VADDL, VADDW, VSUBL, or VSUBW

S64, U64

for VQADD or VQSUB.

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.

Qd, Qn, Dm

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

Show/hideSee also

Reference:
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489C
Non-ConfidentialID080411