5.8.6. VMOVL, V{Q}MOVN, VQMOVUN

VMOVL (Vector Move Long) takes each element in a doubleword vector, sign or zero extends them to twice their original length, and places the results in a quadword vector.

VMOVN (Vector Move and Narrow) copies the least significant half of each element of a quadword vector into the corresponding elements of a doubleword vector.

VQMOVN (Vector Saturating Move and Narrow) copies each element of the operand vector to the corresponding element of the destination vector. The result element is half the width of the operand element, and values are saturated to the result width.

VQMOVUN (Vector Saturating Move and Narrow, signed operand with Unsigned result) copies each element of the operand vector to the corresponding element of the destination vector. The result element is half the width of the operand element, and values are saturated to the result width.

Syntax

VMOVL{cond}.datatype Qd, Dm
V{Q}MOVN{cond}.datatype Dd, Qm
VQMOVUN{cond}.datatype Dd, Qm

where:

Q

if present, specifies that the results are saturated.

cond

is an optional condition code (see Condition codes).

datatype

must be one of:

S8, S16, S32

for VMOVL

U8, U16, U62

for VMOVL

I16, I32, I64

for VMOVN

S16, S32, S64

for VQMOVN or VQMOVUN

U16, U32, U64

for VQMOVN.

Qd, Dm

specifies the destination vector and the operand vector for VMOVL.

Dd, Qm

specifies the destination vector and the operand vector for V{Q}MOV{U}N.

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