| |||

Home > NEON and VFP Programming > NEON general data processing instructions > 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.

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.

`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`

.

- Reference