| |||

Home > NEON and VFP Programming > NEON shift instructions > VQ{R}SHR{U}N (by immediate) |

`VQ{R}SHR{U}N`

(Vector Saturating Shift Right,
Narrow, by immediate value, with optional Rounding) takes each element
in a quadword vector of integers, right shifts them by an immediate
value, and places the results in a doubleword vector.

The sticky QC flag (FPSCR bit[27]) is set if saturation occurs.

VQ{R}SHR{U}N{}.`cond`

`datatype`

,`Dd`

, #`Qm`

`imm`

where:

`R`

if present, indicates that the results are rounded. Otherwise, the results are truncated.

`U`

if present, indicates that the results are unsigned, although the operands are signed. Otherwise, the results are the same type as the operands.

`cond`

is an optional condition code (see

*Condition codes*).`datatype`

must be one of:

`S16, S32, S64`

for

`VQ{R}SHRN`

or`VQ{R}SHRUN`

`U16, U32, U64`

for

`VQ{R}SHRN`

only.

,`Dd`

`Qm`

are the destination vector and the operand vector.

`imm`

is the immediate constant specifying the size of the shift, in the range 0 to (size(

) - 1).`datatype`