V{R}SHR{N}, V{R}SRA (by immediate)

V{R}SHR{N} (Vector Shift Right by immediate value) takes each element in a vector, right shifts them by an immediate value, and places the results in the destination vector. The results can be optionally rounded, or narrowed, or both.

V{R}SRA (Vector Shift Right by immediate value and Accumulate) takes each element in a vector, right shifts them by an immediate value, and accumulates the results into the destination vector. The results can be optionally rounded.

Show/hideSyntax

V{R}SHR{cond}.datatype {Qd}, Qm, #imm
V{R}SHR{cond}.datatype {Dd}, Dm, #imm
V{R}SRA{cond}.datatype {Qd}, Qm, #imm
V{R}SRA{cond}.datatype {Dd}, Dm, #imm
V{R}SHRN{cond}.datatype Dd, Qm, #imm

where:

R

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

cond

is an optional condition code.

datatype

must be one of:

S8, S16, S32, S64

for V{R}SHR or V{R}SRA

U8, U16, U32, U64

for V{R}SHR or V{R}SRA

I16, I32, I64

for V{R}SHRN.

Qd, Qm

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

Dd, Dm

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

Dd, Qm

are the destination vector and the operand vector, for a narrow operation.

imm

is the immediate value specifying the size of the shift, in the range 0 to (size(datatype) - 1).

Show/hideSee also

Reference:
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489E
Non-ConfidentialID071611